Genkit 开源项目教程
1. 项目介绍
Genkit 是一个用于构建 AI 驱动应用程序的开源框架。它提供了 Node.js 和 Go 的开源库,以及帮助你调试和迭代的工具。Genkit 的设计围绕插件架构,可以与任何生成模型 API 或向量数据库一起工作,并且已经提供了许多集成。尽管由 Firebase 团队开发,Genkit 可以独立于 Firebase 或 Google Cloud 服务使用。
2. 项目快速启动
安装 Genkit CLI
首先,你需要安装 Genkit CLI。你可以通过 npm 全局安装:
npm install -g genkit
初始化新项目
安装完成后,你可以使用以下命令初始化一个新的 Genkit 项目:
genkit init
生成内容
以下是一个简单的示例,展示如何使用 Genkit 生成内容:
import { generate } from '@genkit-ai/ai';
import { gemini15Flash } from '@genkit-ai/vertexai';
async function main() {
const result = await generate({
model: gemini15Flash,
prompt: 'What makes you the best LLM out there?',
});
console.log(result);
}
main();
3. 应用案例和最佳实践
智能代理
Genkit 可以用于创建理解用户请求并自主执行任务的智能代理,例如个性化旅行规划或行程生成。
示例:Compass 旅行规划应用
import { generate } from '@genkit-ai/ai';
import { gemini15Flash } from '@genkit-ai/vertexai';
async function planTrip(userPreferences) {
const result = await generate({
model: gemini15Flash,
prompt: `Plan a trip based on the following preferences: ${userPreferences}`,
});
return result;
}
planTrip('Beach, relaxation, budget-friendly');
数据转换
Genkit 可以将非结构化数据(如自然语言)转换为结构化格式(如对象、SQL 查询、表格),以便集成到你的应用或数据管道中。
示例:使用 Genkit 添加自然语言 AI 数据过滤器
import { generate } from '@genkit-ai/ai';
import { gemini15Flash } from '@genkit-ai/vertexai';
async function convertToSQL(query) {
const result = await generate({
model: gemini15Flash,
prompt: `Convert the following natural language query to SQL: ${query}`,
});
return result;
}
convertToSQL('Show me all users who have logged in within the last week');
4. 典型生态项目
Google AI for Developers
Genkit 提供了与 Google AI 的集成,允许开发者使用 Google 的 AI 模型来增强他们的应用。
Google Cloud Vertex AI
Genkit 还支持与 Google Cloud Vertex AI 的集成,使开发者能够利用 Google Cloud 的强大 AI 功能。
LangChain
LangChain 是一个用于构建语言模型应用的框架,Genkit 提供了与 LangChain 的集成,使开发者能够轻松地将语言模型集成到他们的应用中。
通过这些集成,开发者可以利用 Genkit 构建复杂的 AI 应用,并将其部署到 Firebase 或 Google Cloud 上。