Firebase Genkit 內建整合功能可協助您將流程部署至 Firebase 專用 Cloud Functions 和 Google Cloud Run,但您也可以將流程部署至任何可提供 Express.js 應用程式的平台,無論是雲端服務或自管平台皆可。
本頁面會逐步引導您部署預設的範例流程。
事前準備
- 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 政策。如果您要從網頁應用程式存取這些端點,可能需要指定這項資訊。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"
},
在本機建構及測試
執行建構指令,然後在本機啟動及測試伺服器,確認其運作正常。
npm run build
npm start
在另一個終端機視窗中,測試端點:
curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
-H "Content-Type: application/json" \
-d '{"data": "banana"}'
選用:啟動開發人員 UI
您可以在開發期間使用開發人員 UI 以互動方式測試流程:
npx genkit start -- npm run start
前往 http://localhost:4000/flows 即可在 UI 中測試流程。
4. 部署專案
在本機設定及測試專案後,即可部署至任何與 Node.js 相容的平台。部署步驟會因供應商而異,但通常您會設定下列設定:
設定 | 值 |
---|---|
執行階段 | Node.js 20 以上版本 |
建構指令 | npm run build |
啟動指令 | npm start |
環境變數 | 設定 GOOGLE_GENAI_API_KEY=<your-api-key> 和其他必要的密鑰 |
start
指令 (npm start
) 應指向已編譯的進入點,通常是 lib/index.js
。請務必為部署平台新增所有必要的環境變數。
部署完成後,您可以使用提供的服務網址,以 HTTPS 端點的形式叫用流程。