모든 Node.js 플랫폼에 흐름 배포

Firebase Genkit에는 기본 제공되는 통합 기능이 있어 Firebase Cloud Functions와 Google Cloud Run을 지원하지만, 플랫폼에 관계없이 Express.js 앱을 제공할 수 있는 모든 플랫폼으로 서비스 또는 자체 호스팅입니다.

예를 들어 이 페이지에서는 기본 애플리케이션 샘플 흐름을 제공합니다

  1. ���요한 도구를 설치합니다.

    • 노드 버전 20 이상을 사용하고 있는지 확인합니다. node --version를 실행하여 확인).
  2. Genkit 샘플 프로젝트용 디렉터리를 만듭니다.

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
    

    IDE를 사용하려면 이 디렉터리로 엽니다.

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

    npm init -y
    
  4. Genkit 프로젝트를 초기화합니다.

    genkit init
    
    1. 모델을 선택합니다.

      Gemini(Google AI)

      가장 간단하게 시작하는 방법은 Google AI Gemini API를 사용하는 것입니다. 해당 리전에서 사용할 수 있는지 확인합니다.

      Google AI Studio를 사용하는 Gemini API의 API 키를 생성합니다. 그런 다음 GOOGLE_API_KEY 환경 변수를 키에 설정합니다.

      export GOOGLE_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 페이지를 참고하세요.

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

  5. 샘플 코드를 빌드하고 실행합니다.

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. 선택사항: 개발자 UI를 시작합니다.

    genkit start
    

    그런 다음 http://localhost:4000/flows로 이동하여 다음을 실행합니다. 개발자 UI를 사용하여 흐름을 구현할 수 있습니다

    완료했으면 콘솔에서 Ctrl+C를 눌러 UI를 ���료합니다.

  7. Express 엔드포인트를 사용해 보세요.

    npm run start
    

    그런 다음 다른 창에서 다음을 수행합니다.

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. 모든 것이 예상대로 작동하면 제공업체에 흐름을 배포할 수 있습니다. 선택할 수 있습니다. 세부정보는 제공업체에 따라 다르지만 일반적으로 다음 설정을 구성합니다.

    설정
    런타임 Node.js 20 이상
    빌드 명령어 npm run build
    명령어 시작 npm run start
    환경 변수 GOOGLE_API_KEY=<your-api-key> (또는 필요한 보안 비밀)