사용해 보기

Firebase Genkit를 시작하려면 Genkit CLI를 설치하고 Node.js 프로젝트에서 genkit init를 실행합니다. 이 페이지의 나머지 부분에서는 그 방법을 보여줍니다.

요구사항

Node.js 20 이상

절차

  1. 다음 명령어를 실행하여 Genkit CLI를 설치합니다.

    npm i -g genkit
    
  2. 새 노드 프로젝트를 만듭니다.

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    package.json을 확인하고 main 필드가 lib/index.js로 설정되어 있는지 확인합니다.

  3. Genkit 프로젝트를 초기화합니다.

    genkit init
    
    1. 배포 플랫폼 옵션으로 Node.js를 선택합니다 (Firebase Cloud Functions 및 Google Cloud Run용 템플릿도 사용 가능).

    2. 모델을 선택합니다.

      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을 참조하세요.

    3. 나머지 질문에 대한 기본 답변을 선택하면 프로젝트 폴더가 샘플 코드로 초기화됩니다.

    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)을 위한 외부 정보 소스 통합 등 여러 단계로 구성된 흐름을 만들 수 있습니다.

  4. 이제 머신에서 로컬로 Genkit 기능과 샘플 프로젝트를 실행하고 탐색할 수 있습니다. Genkit 개발자 UI를 다운로드하고 시작합니다.

    genkit start
    

    Genkit 개발자 UI에 오신 것을 환영합니다.

    이제 Genkit 개발자 UI가 머신에서 실행됩니다. 다음 단계에서 모델이나 흐름을 실행하면 머신이 흐름의 단계를 함께 작동하는 데 필요한 조정 작업을 수행합니다. Gemini API와 같은 외부 서비스는 라이브 서버에 대해 계속 호출됩니다.

    또한 현재 개발 환경에 있으므로 Genkit가 트레이스 및 흐름 상태를 로컬 파일에 저장합니다.

  5. genkit start 명령어를 실행하면 Genkit 개발자 UI가 자동으로 다운로드되고 열립니다.

    개발자 UI를 사용하면 정의한 흐름과 구성한 모델을 확인하고 실행하며 이전 실행의 트레이스를 검사할 수 있습니다. 다음 기능을 사용해 보세요.

    • Run 탭에 정의한 모든 흐름의 목록과 플러그인에서 구성된 모델이 표시됩니다.

      menuSuggestionFlow를 클릭하고 입력 텍스트 (예: "cat")와 함께 실행해 보세요. 모두 잘 되면 고양이 테마 레스토랑 메뉴 추천이 제공됩니다.

    • Inspect 탭에 흐름 실행 기록이 표시됩니다. 각 흐름에서 흐름에 전달된 매개변수와 실행된 각 단계의 트레이스를 확인할 수 있습니다.

다음 단계

Firebase, Cloud Run 또는 Node.js 플랫폼에서 Genkit 앱을 빌드하고 배포하는 방법을 알아보세요.