Firebase Genkit를 시작하려면 Genkit CLI를 설치하고 Node.js 프로젝트에서 genkit init
를 실행합니다. 이 페이지의 나머지 부분에서는 그 방법을 보여줍니다.
요구사항
Node.js 20 이상
절차
다음 명령어를 실행하여 Genkit CLI를 설치합니다.
npm i -g genkit
새 노드 프로젝트를 만듭니다.
mkdir genkit-intro && cd genkit-intro
npm init -y
package.json을 확인하고
main
필드가lib/index.js
로 설정되어 있는지 확인합니다.Genkit 프로젝트를 초기화합니다.
genkit init
배포 플랫폼 옵션으로
Node.js
를 선택합니다 (Firebase Cloud Functions 및 Google Cloud Run용 템플릿도 사용 가능).모델을 선택합니다.
Gemini (Google AI)
가장 간단한 방법은 Google AI Gemini API를 사용하는 것입니다. 해당 리전에서 사용할 수 있는지 확인하세요.
Google AI Studio를 사용하여 Gemini API의 API 키를 생성합니다. 그런 다음
GOOGLE_GENAI_API_KEY
환경 변수를 키로 설정합니다.export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
Google AI Gemini API를 사용할 수 없는 리전은 Gemini 및 기타 모델도 제공하는 Vertex AI API를 사용하는 것이 좋습니다. 결제가 사용 설정된 Google Cloud 프로젝트가 있어야 하며, AI Platform API를 사용 설정하고, 몇 가지 추가 환경 변수를 설정해야 합니다.
gcloud services enable aiplatform.googleapis.com
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
Vertex AI 가격 책정은 https://cloud.google.com/vertex-ai/generative-ai/pricing을 참조하세요.
나머지 질문에 대한 기본 답변을 선택하면 프로젝트 폴더가 샘플 코드로 초기화됩니다.
genkit init
명령어는 샘플 소스 파일index.ts
를 만듭니다. 프로젝트의 진입점으로, 프로젝트에 Genkit를 구성하고, AI 흐름 및 정의한 기타 리소스를 로드하고 내보낼 플러그인을 구성합니다. 샘플 파일에는 앞에서 선택한 모델 제공자를 지원하기 위해 플러그인을 로드하는 구성이 포함되어 있습니다. LLM에 특정 테마의 레스토랑 항목을 추천하도록 요청하는 단일 흐름menuSuggestionFlow
도 포함되어 있습니다.configureGenkit({ plugins: [googleAI()], logLevel: 'debug', enableTracingAndMetrics: true, }); export const menuSuggestionFlow = defineFlow( { name: 'menuSuggestionFlow', inputSchema: z.string(), outputSchema: z.string(), }, async (subject) => { const llmResponse = await generate({ prompt: `Suggest an item for the menu of a {subject} themed restaurant`, model: geminiPro, config: { temperature: 1, }, }); return llmResponse.text(); } ); startFlowsServer();
Genkit로 앱의 AI 기능을 빌드하면서 입력 전처리, 보다 정교한 프롬프트 구성, 검색 보강 (RAG)을 위한 외부 정보 소스 통합 등 여러 단계로 구성된 흐름을 만들 수 있습니다.
이제 머신에서 로컬로 Genkit 기능과 샘플 프로젝트를 실행하고 탐색할 수 있습니다. Genkit 개발자 UI를 다운로드하고 시작합니다.
genkit start
이제 Genkit 개발자 UI가 머신에서 실행됩니다. 다음 단계에서 모델이나 흐름을 실행하면 머신이 흐름의 단계를 함께 작동하는 데 필요한 조정 작업을 수행합니다. Gemini API와 같은 외부 서비스는 라이브 서버에 대해 계속 호출됩니다.
또한 현재 개발 환경에 있으므로 Genkit가 트레이스 및 흐름 상태를 로컬 파일에 저장합니다.
genkit start
명령어를 실행하면 Genkit 개발자 UI가 자동으로 다운로드되고 열립니다.개발자 UI를 사용하면 정의한 흐름과 구성한 모델을 확인하고 실행하며 이전 실행의 트레이스를 검사할 수 있습니다. 다음 기능을 사용해 보세요.
Run 탭에 정의한 모든 흐름의 목록과 플러그인에서 구성된 모델이 표시됩니다.
menuSuggestionFlow를 클릭하고 입력 텍스트 (예:
"cat"
)와 함께 실행해 보세요. 모두 잘 되면 고양이 테마 레스토랑 메뉴 추천이 제공됩니다.Inspect 탭에 흐름 실행 기록이 표시됩니다. 각 흐름에서 흐름에 전달된 매개변수와 실행된 각 단계의 트레이스를 확인할 수 있습니다.
다음 단계
Firebase, Cloud Run 또는 Node.js 플랫폼에서 Genkit 앱을 빌드하고 배포하는 방법을 알아보세요.