Genkit 是一个用于构建人工智能驱动应用程序的框架。它为 Node.js 和 Go 提供开源库,并提供工具帮助您快速调试和迭代。
使用 Genkit 可以构建什么?
Genkit 是一个多功能框架,您可以用它构建多种不同类型的人工智能应用程序。常见用例包括:
-
智能代理: 创建能够理解用户请求并自主执行任务的代理,例如个性化旅行规划或行程生成。
-
数据转换: 将非结构化数据(如自然语言)转换为结构化格式(如对象、SQL 查询、表格),以便集成到您的应用程序或数据管道中。
-
检索增强生成: 创建能够通过基于您自己的数据源提供准确和上下文相关响应的应用程序,如聊天机器人或问答系统。
谁应该使用 Genkit?
Genkit 专为希望使用 Node.js 或 Go 为其应用程序添加生成式 AI 的开发人员而设计,可在支持这些运行时的任何地方运行。它围绕插件架构设计,可与任何生成模型 API 或向量数据库配合使用,已有许多集成可用。
虽然由 Firebase 团队开发,但 Genkit 可以独立于 Firebase 或 Google Cloud 服务使用。
开始使用
[!注意] Genkit 的 Go 版本处于 alpha 阶段,因此我们只建议用于原型设计。
库的主要特点
-
统一的生成 API: 使用单一、可适应的 API 从任何生成模型生成文本、媒体、结构化对象和工具调用。
-
向量数据库支持: 通过简单的索引和检索 API 为您的应用添加检索增强生成(RAG),这些 API 可跨向量数据库提供商使用。
-
增强的提示工程: 在单个可运行的 .prompt 文件中定义丰富的提示模板、模型配置、输入/输出架构和工具。
-
AI 工作流: 将您的 AI 应用程序逻辑组织成 Flows - 这些函数专为可观察性、流式传输、与 Genkit 开发工具集成以及轻松部署为 API 端点而设计。
-
内置流式传输: 将内容从 Genkit API 端点流式传输到客户端应用,以创建快速响应的用户体验。
开发工具
Genkit 提供了 CLI 和本地 UI,以简化您的 AI 开发工作流程。
CLI
Genkit CLI 是启动新 Genkit 项目的最快方式。它还包括用于运行和评估 Genkit 函数(flows)的命令。
- 安装:
npm i -g genkit
- 初始化新项目:
genkit init
开发者 UI
Genkit 开发者 UI 是一个用于测试、调试和迭代 AI 应用程序的本地界面。
主要功能:
- 运行: 在专用的游乐场中执行和实验 Genkit flows、提示、查询等。
- 检查: 分析过去执行的详细跟踪,包括复杂流程的逐步分解。
- 评估: 查看对您的 flows 运行的评估结果,包括性能指标和相关跟踪的链接。
插件生态系统
使用来自 Google 和 OpenAI 等提供商的特定 AI 模型、向量数据库和平台集成的插件扩展 Genkit。
- Node.js 插件: 在 npm 上探索
- Go 插件: 在 pkg.go.dev 上探索
创建和分享您自己的插件:
在这个仓库中可以找到为 OpenAI、Anthropic、Cohere 等构建的优秀社区插件示例。
在 IDX 上尝试 Genkit
想在不进行本地设置的情况下尝试 Genkit 吗?在 Project IDX 上探索,这是 Google 的 AI 辅助全栈应用开发云工作空间。
示例应用
看看一些 Genkit 使用的示例:
- "AI 咖啡师" -- 演示简单的 LLM 使用
- 带有 JavaScript 前端的简单聊天机器人 -- 为 LLM 会话添加历史记录
- 餐厅菜单问答应用 -- 这个示例展示了菜单理解应用的逐步更复杂的版本。
- 流式传输到 Angular 前端
与我们联系
-
加入社区: 在我们的 Discord 服务器上与其他 Genkit 用户保持更新、提问和分享您的作品。
-
提供反馈: 使用我们的 GitHub 问题跟踪器报告问题或建议新功能。
-
参与讨论: 在我们的 GitHub 讨论论坛上参与关于 Genkit 的对话。
贡献
欢迎并非常感谢对 Genkit 的贡献!请查看我们的贡献指南开始。