將流程部署至任何應用程式代管平台

您可以使用任何可以託管 Go 二進位檔的服務,將 Firebase Genkit 流程部署為網路服務。本頁範例將逐步引導您完成部署預設範例流程的一般程序,並指出您必須在何處採取特定供應商的動作。

  1. 為 Genkit 範例專案建立目錄:

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

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

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

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

    genkit init
    

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

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

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

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    如果供應器需要您監聽特定通訊埠,請務必據此設定 Genkit。

  5. 實作某種形式的驗證和授權,以限制您打算部署的流程的存取。

    由於大部分的生成式 AI 服務都採用計量付費功能,因此您最有可能不想開放對呼叫該 API 的任何端點開放存取權。部分代管服務會提供驗證層,做為部署在其上的應用程式的前端,以便您進行這項作業。

  6. 將 API 憑證提供給您部署的函式。依據您選擇的模型供應商,執行以下其中一項操作:

    Gemini (Google AI)

    1. 並確認 Google AI 適用於您的地區

    2. 使用 Google AI Studio 為 Gemini API 產生 API 金鑰

    3. 在已部署的環境中提供 API 金鑰。

      大多數應用程式主機會提供安全處理 API 金鑰等密鑰的系統。通常,這些密鑰會以環境變數的形式提供給您的應用程式。如果您可將 API 金鑰指派給 GOOGLE_GENAI_API_KEY 變數,Genkit 會自動使用該金鑰。否則,您必須修改 googleai.Init() 呼叫,明確設定索引鍵。(但請勿將金鑰直接嵌入程式碼中!請使用主機供應商提供的密鑰管理設施)。

    Gemini (Vertex AI)

    1. 在 Cloud 控制台中,為專案啟用 Vertex AI API

    2. 如果您尚未修復 Vertex AI API,請在「IAM」頁面中建立服務帳戶,以存取 Vertex AI API。

      授予帳戶「Vertex AI 使用者」角色。

    3. 在託管環境中設定應用程式預設憑證

    4. 使用 Google Cloud 專案 ID 和要使用的 Vertex AI API 位置,設定外掛程式。方法是在託管環境或 vertexai.Init() 呼叫中設定 GCLOUD_PROJECTGCLOUD_LOCATION 環境變數。

    在本教學課程中,唯一需要為模型供應商設定的密鑰。但是一般來說,您必須針對流程使用的每項服務執行類似操作。

  7. 選用:請在開發人員 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. 點選「執行」

  8. 如果目前一切都正常運作,您可以使用供應商的工具建構及部署流程。