如需开始使用 Firebase Genkit,请安装 Genkit CLI 并在 Node.js 项目中运行 genkit init
。本页的其余部分将向您介绍具体方法。
使用要求
Node.js 20 或更高版本。
过程
运行以下命令安装 Genkit CLI:
npm i -g genkit
创建新的 Node 项目:
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 为 Genmini API 生成 API 密钥。然后,将
GOOGLE_GENAI_API_KEY
环境变量设置为您的键:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
如果 Google AI Gemini API 在您所在的地区不可用,请考虑使用 Vertex AI API,它也提供了 Gemini 和其他模型。您需要具有已启用结算功能的 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 开发者界面:
genkit start
Genkit Developer UI 现在正在您的机器上运行。在下一步中运行模型或数据流时,您的机器将执行使数据流步骤协同工作所需的编排任务;对 Gemini API 等外部服务的调用将继续针对实时服务器执行。
此外,由于您是在开发环境中,因此 Genkit 会将跟踪记录和数据流状态存储在本地文件中。
当您运行
genkit start
命令时,Genkit 开发者界面会自动下载并打开。通过开发者界面,您可以查看自己定义的流和已配置的模型、运行这些流,以及检查之前运行的轨迹。试用以下部分功能:
在运行标签页上,您将看到一个列表,其中列出了您已定义的所有流以及插件已配置的所有模型。
点击 menuSuggestionFlow 并尝试使用一些输入文本(例如
"cat"
)运行它。如果一切顺利,您将获得关于猫主题餐厅的菜单建议。在 Inspect 标签页上,您将看到数据流执行的历史记录。对于每个流程,您可以查看传递给流程的参数以及每个步骤在运行时的跟踪记录。
后续步骤
了解如何使用 Firebase、Cloud Run 或任何 Node.js 平台构建和部署 Genkit 应用。