开始

如需开始使用 Firebase Genkit,请安装 Genkit CLI 并在 Node.js 项目中运行 genkit init。本页的其余部分将向您介绍具体方法。

使用要求

Node.js 20 或更高版本。

过程

  1. 运行以下命令安装 Genkit CLI:

    npm i -g genkit
    
  2. 创建新的 Node 项目:

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    查看 package.json 并确保 main 字段设置为 lib/index.js

  3. 初始化 Genkit 项目:

    genkit init
    
    1. 选择 Node.js 作为部署平台选项(也提供 Firebase Cloud Functions 和 Google Cloud Run 的模板)。

    2. 选择型号:

      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。

    3. 选择其余问题的默认答案,这将使用一些示例代码初始化您的项目文件夹。

    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),等等。

  4. 现在,您可以在机器本地运行和探索 Genkit 功能和示例项目。下载并启动 Genkit 开发者界面:

    genkit start
    

    欢迎使用 Genkit 开发者界面

    Genkit Developer UI 现在正在您的机器上运行。在下一步中运行模型或数据流时,您的机器将执行使数据流步骤协同工作所需的编排任务;对 Gemini API 等外部服务的调用将继续针对实时服务器执行。

    此外,由于您是在开发环境中,因此 Genkit 会将跟踪记录和数据流状态存储在本地文件中。

  5. 当您运行 genkit start 命令时,Genkit 开发者界面会自动下载并打开。

    通过开发者界面,您可以查看自己定义的流和已配置的模型、运行这些流,以及检查之前运行的轨迹。试用以下部分功能:

    • 运行标签页上,您将看到一个列表,其中列出了您已定义的所有流以及插件已配置的所有模型。

      点击 menuSuggestionFlow 并尝试使用一些输入文本(例如 "cat")运行它。如果一切顺利,您将获得关于猫主题餐厅的菜单建议。

    • Inspect 标签页上,您将看到数据流执行的历史记录。对于每个流程,您可以查看传递给流程的参数以及每个步骤在运行时的跟踪记录。

后续步骤

了解如何使用 FirebaseCloud Run 或任何 Node.js 平台构建和部署 Genkit 应用。