将流部署到任何 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. 选择 Node.js 作为部署平台选项(也提供 Firebase Cloud Functions 和 Google Cloud Run 的模板)。

    2. 选择型号:

      Gemini (Google AI)

      最简单的入门方法是使用 Google AI Gemini API。确保它在您所在的地区可用

      使用 Google AI Studio 为 Genmini API 生成 API 密钥。然后,将 GOOGLE_API_KEY 环境变量设置为您的键:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      如果 Google AI Gemini API 在您所在的地区不可用,请考虑使用 Vertex AI API,它也提供了 Gemini 和其他模型。您需要具有已启用结算功能的 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. 选择其余问题的默认答案,这将使用一些示例代码初始化您的项目文件夹。

  5. 构建并运行示例代码:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. 可选:启动开发者界面:

    genkit start
    

    然后,转到 http://localhost:4000/flows,并使用开发者界面运行该数据流。

    完成后,在控制台中按 Ctrl+C 退出界面。

  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>(或任何必需的 Secret)