您可以使用 Cloud Run 将 Firebase Genkit flow 部署为 Web 服务。作为示例,本页面将引导您完成部署默认示例 flow 的过程。
安装所需的工具:
确保您使用的是 Node.js 20 或更高版本(运行
node --version
进行检查)。安装 Google Cloud CLI。
使用 Cloud 控制台或选择现有控制台。 项目必须与结算账号相关联。
创建或选择项目后,请配置 Google Cloud CLI 以使用 :
gcloud init
为 Genkit 示例项目创建一个目录:
mkdir -p ~/tmp/genkit-cloud-project
cd ~/tmp/genkit-cloud-project
如果您要使用 IDE,请用其打开此目录。
在您的项目目录中初始化 Node.js 项目:
npm init -y
在 Node.js 项目中初始化 Genkit:
genkit init
选择要使用的模型提供程序。接受 提示。
genkit
工具将创建一些示例源文件 ,帮助您开始开发自己的 AI 流程。对于本单元的 不过,您只需部署示例流程即可。向已部署的函数提供 API 凭据。根据您选择的模型提供方,执行以下操作之一:
Gemini (Google AI)
使用 Google AI Studio 为 Gemini API 生成 API 密钥。
使 API 密钥在 Cloud Run 环境中可用:
- 在 Cloud 控制台中,启用 Secret Manager API。
- 在 Secret Manager 页面中,创建包含您的 API 密钥的新密钥。
- 创建 Secret 后,在同一页面上,通过 Secret Manager Secret Accessor 角色为默认计算服务账号授予对 Secret 的访问权限。(您可以在 IAM 页面上查找默认计算服务账号的名称。)
在后面的步骤中,当您部署服务时,需要引用此 Secret 的名称。
可选:如果要在本地运行流,如下例所示 ,将
GOOGLE_GENAI_API_KEY
环境变量设置为您的密钥:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
在 Cloud 控制台中,为您的项目启用 Vertex AI API。
在 IAM 页面上,确保为默认计算服务账号授予 Vertex AI User 角色。
可选:如果要在本地运行流,如下例所示 设置一些额外的环境变量,并使用
gcloud
工具进行设置 应用默认凭据:export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
在本教程中,您只需要为模型提供方设置 Secret,但一般来说,您必须为 flow 使用的每项服务执行类似的操作。
可选:在开发者界面中试用 flow:
启动界面:
genkit start
在开发者界面 (http://localhost:4000/) 中,运行 flow:
点击 menuSuggestionFlow。
在输入 JSON 标签页上,为模型提供一个主题:
"banana"
点击运行。
如果到目前为止一切正常,您便可以构建和部署 flow:
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 凭据。请参阅 身份验证 如需了解如何提供这些凭据,请参阅 Cloud Run 文档。
部署完成后,该工具将输出服务网址。您可以
curl
:
curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'