搭配 Cloud Run 使用 Firebase Genkit

您可以使用 Cloud Run 將 Firebase Genkit 流程部署為網路服務。本頁面 ,逐步引導您部署預設範例 流程

  1. 安裝必要工具:

    1. 請務必使用 Node.js 20 以上版本 (執行 node --version即可查看)。

    2. 安裝 Google Cloud CLI

  2. 使用以下程式碼建立新的 Google Cloud 專案: Cloud 控制台,或選擇現有的資源。 專案必須連結至帳單帳戶。

    建立或選擇專案後,請設定要使用的 Google Cloud CLI 它:

    gcloud init
  3. 為 Genkit 範例專案建立目錄:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project

    如果您要使用 IDE,請將其開啟至這個目錄。

  4. 在專案目錄中初始化 Node.js 專案:

    npm init -y
  5. 在 Node.js 專案中初始化 Genkit:

    genkit init

    選取要使用的模型供應商。接受預設值 其餘提示genkit 工具會建立一些範例來源檔案 ,瞭解如何開始開發自己的 AI 流程接下來 不過,您只要部署範例流程即可。

  6. 將 API 憑證提供給您部署的函式。執行下列任一操作: 視您選擇的模型供應商而定:

    Gemini (Google AI)

    1. Google AI 就是 僅適用於您所在的地區

    2. 產生 API 金鑰: 或 Google AI Studio 建立 Gemini API

    3. 在 Cloud Run 環境中提供 API 金鑰:

      1. 在 Cloud 控制台中,啟用 Secret Manager API
      2. 每月中的特定幾天 Secret Manager 頁面中,建立包含 API 金鑰的新密鑰。
      3. 建立密鑰後,在同一個頁面中授予預設密鑰 是「運算服務帳戶」可存取密鑰的 Secret Manager Secret 存取者角色。(您可以查詢名稱 預設運算服務帳戶)。

      在後續步驟中部署服務時 參照這個密鑰的名稱

    4. 選用:如果您想在本機執行流程,如下文 步驟,將 GOOGLE_GENAI_API_KEY 環境變數設為您的金鑰:

      export GOOGLE_GENAI_API_KEY=<your API key>

    Gemini (Vertex AI)

    1. 在 Cloud 控制台中 啟用 Vertex AI API

    2. IAM 頁面中 頁面,確認已授予預設運算服務帳戶 「Vertex AI 使用者」角色

    3. 選用:如果您想在本機執行流程,如下文 設定其他環境變數,然後使用 gcloud 設定工具 應用程式預設憑證:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login

    在這個教學課程中,您只需要為模型設定密鑰 但整體而言,您必須為每個服務進行類似的操作 以及流程使用的容器

  7. 選用:請在開發人員 UI 中試用您的流程:

    1. 啟動使用者介面:

      genkit start
    2. 在開發人員使用者介面 (http://localhost:4000/) 中,執行流程:

      1. 按一下「menusuggestionFlow」

      2. 在「Input JSON」(輸入 JSON) 分頁中,提供模型的主旨:

        "banana"
        
      3. 按一下「執行」

  8. 如果一切運作正常,則可建構及部署 流程:

    Gemini (Google AI)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy

    當系統詢問您是否要允許未經驗證的叫用時,請選擇「N」。 回答 N 之後,服務就會設為需要 IAM 憑證。詳情請見 身分驗證 ,瞭解如何提供這些憑證。

部署作業完成後,工具會顯示服務網址。您可以測試 加入 curl

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'