Vercel의 AI SDK는 TypeScript에서 AI 기반 애플리케이션, 사용자 인터페이스, 에이전트를 빌드하기 위한 강력한 오픈소스 라이브러리입니다.
이 가이드에서는 AI SDK를 사용하여 Google 생성형 AI 제공업체를 통해 Gemini API에 연결하고 자동화된 시장 동향 분석을 실행하는 TypeScript로 Node.js 애플리케이션을 빌드하는 방법을 안내합니다. 최종 애플리케이션은 다음을 수행합니다.
- Google 검색과 함께 Gemini를 사용하여 현재 시장 동향을 조사하세요.
- 조사에서 구조화된 데이터를 추출하여 차트를 생성합니다.
- 연구 결과와 차트를 전문적인 HTML 보고서로 결합하고 PDF로 저장합니다.
기본 요건
이 가이드를 완료하려면 다음이 필요합니다.
- Gemini API 키 Google AI Studio에서 무료로 만들 수 있습니다.
- Node.js 버전 18 이상
npm,pnpm,yarn와 같은 패키지 관리자
애플리케이션 설정
먼저 프로젝트의 새 디렉터리를 만들고 초기화합니다.
npm
mkdir market-trend-appcd market-trend-appnpm init -y
pnpm
mkdir market-trend-appcd market-trend-apppnpm init
털실
mkdir market-trend-appcd market-trend-appyarn init -y
종속 항목 설치
그런 다음 AI SDK, Google 생성형 AI 제공자, 기타 필요한 종속 항목을 설치합니다.
npm
npm install ai @ai-sdk/google zodnpm install -D @types/node tsx typescript && npx tsc --init
TypeScript 컴파일러 오류를 방지하려면 생성된 tsconfig.json에서 다음 줄을 주석 처리하세요.
//"verbatimModuleSyntax": true,
pnpm
pnpm add ai @ai-sdk/google zodpnpm add -D @types/node tsx typescript
털실
yarn add ai @ai-sdk/google zodyarn add -D @types/node tsx typescript && yarn tsc --init
TypeScript 컴파일러 오류를 방지하려면 생성된 tsconfig.json에서 다음 줄을 주석 처리하세요.
//"verbatimModuleSyntax": true,
이 애플리케이션은 차트를 렌더링하고 PDF를 만들기 위해 서드 파티 패키지 Puppeteer와 Chart.js도 사용합니다.
npm
npm install puppeteer chart.jsnpm install -D @types/chart.js
pnpm
pnpm add puppeteer chart.jspnpm add -D @types/chart.js
털실
yarn add puppeteer chart.jsyarn add -D @types/chart.js
puppeteer 패키지를 사용하려면 스크립트를 실행하여 Chromium 브라우저를 다운로드해야 합니다. 패키지 관리자에서 승인을 요청할 수 있으므로 메시지가 표시되면 스크립트를 승인해야 합니다.
API 키 구성
GOOGLE_GENERATIVE_AI_API_KEY 환경 변수를 Gemini API 키로 설정합니다. Google 생성형 AI 제공자는 이 환경 변수에서 API 키를 자동으로 찾습니다.
MacOS/Linux
export GOOGLE_GENERATIVE_AI_API_KEY="YOUR_API_KEY_HERE"Powershell
setx GOOGLE_GENERATIVE_AI_API_KEY "YOUR_API_KEY_HERE"자체 애플리케이션 구축
이제 애플리케이션의 기본 파일을 만들어 보겠습니다. 프로젝트 디렉터리에 main.ts라는 새 파일을 만듭니다. 이 파일에서 로직을 단계별로 빌드합니다.
모든 항목이 올바르게 설정되었는지 빠르게 테스트하려면 main.ts에 다음 코드를 추가하세요. 이 기본 예에서는 generateText을 사용하여 Gemini로부터 간단한 대답을 가져옵니다.
import { google } from "@ai-sdk/google";
import { generateText } from "ai";
async function main() {
const { text } = await generateText({
model: google("gemini-3.7-flash"),
prompt: 'What is plant-based milk?',
});
console.log(text);
}
main().catch(console.error);
더 복잡한 작업을 추가하기 전에 이 스크립트를 실행하여 환경이 올바르게 구성되었는지 확인하세요. 터미널에서 다음 명령어를 실행합니다.
npm
npx tsc && node main.jspnpm
pnpm tsx main.ts털실
yarn tsc && node main.js모든 항목이 올바르게 설정되면 Gemini의 대답이 콘솔에 출력됩니다.
Google 검색으로 시장 조사하기
최신 정보를 얻으려면 Gemini의 Google 검색 도구를 사용 설정하세요. 이 도구가 활성화되면 모델이 웹을 검색하여 프롬프트에 답변하고 사용한 소스를 반환합니다.
main.ts의 콘텐츠를 다음 코드로 바꿔 분석의 첫 번째 단계를 실행합니다.
import { google } from "@ai-sdk/google";
import { generateText } from "ai";
async function main() {
// Step 1: Search market trends
const { text: marketTrends, sources } = await generateText({
model: google("gemini-3.7-flash"),
tools: {