搭配 Cloud Run 使用 Firebase Genkit

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

  1. 安裝 Google Cloud CLI

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

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

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

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

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

  4. 在專案目錄中初始化 Go 模組:

    go mod init example/cloudrun
    
  5. 在專案中初始化 Genkit:

    genkit init
    

    選取要使用的模型供應商。

    接受其餘提示的預設值。genkit 工具會建立 範例來源檔案,協助您開始開發自己的 AI 流程。 但在本教學課程的其餘部分,您將直接部署範例流程。

  6. 請編輯範例檔案 (main.gogenkit.go) 來明確指定 流量伺服器應監聽的通訊埠:

    if err := genkit.Init(ctx,
        &genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
        log.Fatal(err)
    }
    
  7. 將 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 存取者角色。(您可以查詢名稱 預設運算服務帳戶)。

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

    Gemini (Vertex AI)

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

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

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

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

    1. 為您選擇的模型供應商設定本機環境:

      Gemini (Google AI)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. 啟動使用者介面:

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

      1. 按一下「menusuggestionFlow」

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

        "banana"
        
      3. 點選「執行」

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

    Gemini (Google AI)

    gcloud run deploy --port 3400 \
      --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    gcloud run deploy --port 3400 \
      --set-env-vars GCLOUD_PROJECT=<your-gcloud-project> \
      --set-env-vars GCLOUD_LOCATION=us-central1
    

    (GCLOUD_LOCATION 會設定要使用的 Vertex API 區域)。

    當系統詢問您是否要允許未經驗證的叫用時,請選擇「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 '"banana"'