Firebase Genkit 内置了集成,可帮助您将流程部署到 Cloud Functions for Firebase 和 Google Cloud Run,但您也可以将流程部署到任何可提供 Express.js 应用的平台,无论是云服务还是自托管服务。
作为示例,本页面将引导您完成部署默认示例 flow 的过程。
准备工作
- Node.js 20 及更高版本:确认您的环境使用的是 Node.js 20 或更高版本 (node --version)。
- 您应熟悉 Genkit 的流程概念。
1. 设置项目
为项目创建目录:
export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
mkdir -p $GENKIT_PROJECT_HOME
cd $GENKIT_PROJECT_HOME
初始化 Node.js 项目:
npm init -y
安装 Genkit 和必要的依赖项:
npm install --save genkit @genkit-ai/googleai
npm install -D genkit-cli typescript tsx
2. 配置 Genkit 应用
设置示例流程和服务器:
在
src/index.ts
中,定义示例流程并配置流程服务器:import { genkit } from 'genkit'; import { googleAI, gemini15Flash } from '@genkit-ai/googleai'; const ai = genkit({ plugins: [googleAI()], model: gemini15Flash, }); const helloFlow = ai.defineFlow( { name: 'helloFlow', inputSchema: z.object({ name: z.string() }), outputSchema: z.string(), }, async (input) => { const { text } = ai.generate('Say hello to ${input.name}'); return text; } ); ai.startFlowServer({ flows: [menuSuggestionFlow], });
您还可以指定一些可选的
startFlowServer
参数:port
:要监听的网络端口。如果未指定,服务器会监听 PORT 环境变量中定义的端口;如果未设置 PORT,则默认为 3400。cors
:流服务器的 CORS 政策。如果您将通过 Web 应用访问这些端点,则可能需要指定这一点。pathPrefix
:要在流程端点之前添加的可选路径前缀。jsonParserOptions
:要传递给 Express 的 JSON 正文解析器的选项
设置模型提供方凭据:
为模型提供方配置所需的环境变量。在本指南中,我们将以 Google AI Studio 中的 Gemini API 为例。
创建 API 密钥后,使用以下命令将
GOOGLE_GENAI_API_KEY
环境变量设置为您的密钥:export GOOGLE_GENAI_API_KEY=<your API key>
不同的部署提供商在其环境中保护 API 密钥的方式各不相同。出于安全考虑,请确保您的 API 密钥不会公开泄露。
3. 准备好要部署的 Node.js 项目
向 package.json
添加启动和构建脚本
如需部署 Node.js 项目,请在 package.json
中定义 start
和 build
脚本。对于 TypeScript 项目,这些脚本将如下所示:
"scripts": {
"start": "node --watch lib/index.js",
"build": "tsc"
},
在本地构建和测试
运行 build 命令,然后启动服务器并在本地对其进行测试,以确认其能否按预期运行。
npm run build
npm start
在另一个终端窗口中,测试端点:
curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
-H "Content-Type: application/json" \
-d '{"data": "banana"}'
可选:启动开发者界面
您可以在开发期间使用开发者界面以交互方式测试流程:
npx genkit start -- npm run start
前往 http://localhost:4000/flows,在界面中测试您的流程。
4. 部署项目
在本地配置和测试项目后,您就可以部署到任何与 Node.js 兼容的平台了。部署步骤因提供方而异,但通常,您需要配置以下设置:
设置 | 值 |
---|---|
运行时 | Node.js 20 或更高版本 |
构建命令 | npm run build |
启动命令 | npm start |
环境变量 | 设置 GOOGLE_GENAI_API_KEY=<your-api-key> 和其他必要的 Secret |
start
命令 (npm start
) 应指向已编译的入口点,通常为 lib/index.js
。请务必为您的部署平台添加所有必要的环境变量。
部署完成后,您可以使用提供的服务网址以 HTTPS 端点的形式调用流程。