Genkit Dart 是面向 Dart 语言的 AI SDK,提供统一接口用于代码生成、结构化输出、工具、Flows 和 AI 智能体。
核心功能与使用方式
该技能支持的核心框架能力包括:初始化 Genkit(Genkit())、生成内容(ai.generate)、定义工具(ai.defineTool)、定义 Flow(ai.defineFlow)、嵌入(ai.embedMany)、流式输出,以及调用远程 flow 端点。需要上述帮助时,可通过 references/genkit.md 加载核心框架参考文档。
Genkit CLI
Genkit CLI 提供本地开发 UI,用于运行 Flow、追踪执行过程、试用模型以及评估输出。可通过 genkit --version 检查是否已安装。
安装命令:
curl -sL cli.genkit.dev | bash # Native CLI
OR
npm install -g genkit-cli # Via npm
用法:将运行命令包裹在 genkit start 中,以挂载 Genkit 开发者 UI 和追踪能力:
genkit start -- dart run main.dart
插件生态
Genkit 依赖大量插件来执行生成式 AI 操作、对接外部 LLM 或托管 Web 服务器。使用任一插件时,应参考对应的参考文档以确认用法:
- genkit_google_genai(references/genkit_google_genai.md):Google Gemini 插件接口用法。
- genkit_anthropic(references/genkit_anthropic.md):Anthropic 插件接口,用于 Claude 模型。
- genkit_openai(references/genkit_openai.md):OpenAI 插件接口,用于 GPT 模型、Groq 及自定义兼容端点。
- genkit_middleware(references/genkit_middleware.md):用于特定智能体行为的工具,包括文件系统、技能和 toolApproval 中断。
- genkit_mcp(references/genkit_mcp.md):Model Context Protocol 集成(Server、Host 和 Client 能力)。
- genkit_chrome(references/genkit_chrome.md):使用 Prompt API 在 Chrome 浏览器内本地运行 Gemini Nano。
- genkit_shelf(references/genkit_shelf.md):通过 Dart Shelf 以 HTTP 方式集成 Genkit Flow actions。
- genkit_firebase_ai(references/genkit_firebase_ai.md):Firebase AI 插件接口(通过 Vertex AI 使用 Gemini API)。
外部依赖
在 Tools、Flows 和 Prompts 中定义 schema 映射时,必须使用 schemantic 库。使用前应阅读 references/schemantic.md,了解如何实现类型安全的生成式 Dart 代码。这在遇到 @Schema()、SchemanticType 或带 $ 前缀的类等符号时尤为重要。Genkit Dart 的所有数据模型都使用 schemantic,因此理解该库是使用 Genkit Dart 的关键。
最佳实践
- 生成最终回复前,始终使用 dart analyze 确认代码可正常编译。
- 始终使用 Genkit CLI 进行本地开发和调试。
适用场景与限制
适用场景:在 Dart 中构建 AI 智能体、使用 Genkit flows、将 LLM 集成到 Dart 应用中,以及使用上述插件对接不同模型或平台。
限制:资料未提供具体的收费、价格、平台兼容版本、性能效果或详细使用步骤说明,暂未提供。