如要開始使用 Firebase Genkit,請安裝 Genkit CLI,然後在 Node.js 專案中執行 genkit init
。本頁其餘部分會說明相關做法。
需求條件
Node.js 20 以上版本。
程序
請執行下列指令安裝 Genkit CLI:
npm i -g genkit
建立新的節點專案:
mkdir genkit-intro && cd genkit-intro
npm init -y
查看 package.json 並確認
main
欄位已設為lib/index.js
。初始化 Genkit 專案:
genkit init
選取
Node.js
做為部署平台選項 (您也可以使用 Firebase Cloud Functions 和 Google Cloud Run 的範本)。選取模型:
Gemini (Google AI)
最簡單的入門方式就是使用 Google AI Gemini API。請務必確認您的所在地區提供這項服務。
使用 Google AI Studio 為 Gemini API 產生 API 金鑰。接著,將
GOOGLE_GENAI_API_KEY
環境變數設為您的金鑰:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
如果您的區域無法使用 Google AI Gemini API,請考慮使用提供 Gemini 和其他模型的 Vertex AI API。您必須擁有已啟用計費功能的 Google Cloud 專案、啟用 AI Platform API,並設定一些額外的環境變數:
gcloud services enable aiplatform.googleapis.com
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
如要瞭解 Vertex AI 定價,請參閱 https://cloud.google.com/vertex-ai/generative-ai/pricing。
請選擇其餘問題的預設答案,這將使用一些程式碼範例初始化專案資料夾。
genkit init
指令會建立來源檔案範例index.ts
。這是專案的進入點,您可以在其中設定專案的 Genkit、設定要載入的外掛程式,以及匯出您的 AI 流程和您已定義的其他資源。範例檔案含有設定檔,可載入外掛程式,支援您先前選擇的模型供應商。其中包含單一資料流menuSuggestionFlow
,提示 LLM 為具有指定主題的餐廳建議一個項目。configureGenkit({ plugins: [googleAI()], logLevel: 'debug', enableTracingAndMetrics: true, }); export const menuSuggestionFlow = defineFlow( { name: 'menuSuggestionFlow', inputSchema: z.string(), outputSchema: z.string(), }, async (subject) => { const llmResponse = await generate({ prompt: `Suggest an item for the menu of a {subject} themed restaurant`, model: geminiPro, config: { temperature: 1, }, }); return llmResponse.text(); } ); startFlowsServer();
使用 Genkit 建構應用程式的 AI 功能時,您可能會有多個步驟建立流程,例如輸入預先處理、更複雜的提示建構、整合外部資訊來源以用於擷取產生的結果 (RAG) 等等。
您現在可以在本機機器上執行並探索 Genkit 功能和範例專案。下載並啟動 Genkit 開發人員 UI:
genkit start
Genkit 開發人員 UI 已在您的電腦上執行。在下一個步驟中執行模型或資料流時,您的機器會執行必要的自動化調度管理工作,讓流程步驟一起運作;對外部服務 (例如 Gemini API) 的呼叫將繼續透過運作中的伺服器進行。
此外,由於您位於開發環境,Genkit 會將追蹤記錄和流程狀態儲存在本機檔案中。
執行
genkit start
指令時,Genkit 開發人員 UI 即會下載並開啟。開發人員 UI 可讓您查看您已定義的流程和已設定的模型、執行這些流程,以及檢查先前執行作業的追蹤記錄。歡迎試用這些功能:
「Run」(執行) 分頁會列出您已定義的所有流程,以及由外掛程式設定的任何模型。
按一下「menusuggestionFlow」,試著搭配一些輸入文字 (例如
"cat"
) 來執行該動作。如果一切順利,您就會收到貓咪主題餐廳的選單建議。「Inspect」分頁會顯示流程執行記錄。您可以查看每個流程中已傳遞到流程的參數,以及每個流程執行時的追蹤記錄。
後續步驟
瞭解如何使用 Firebase、Cloud Run 或任何 Node.js 平台建構及部署 Genkit 應用程式。