Firebase Genkit
Genkit 是一个开源 TypeScript 工具包,旨在帮助您在 Web 和移动应用中构建 AI 赋能的功能。
它提供了一个统一的界面,可用于集成 Google、OpenAI、Anthropic、Ollama 等来源的 AI 模型,以便您探索并选择最适合您需求的模型。Genkit 提供了简化版 API,可用于多模态内容生成、结构化数据生成、工具调用、人机协作等高级功能,从而简化 AI 开发。
无论您要构建聊天机器人、智能客服、工作流自动化流程还是推荐系统,Genkit 都能处理 AI 集成的复杂性,让您可以专注于打造出色的用户体验。
只需几行代码,即可与各种模型提供程序集成:
Google Gemini
import { genkit } from 'genkit';
import { googleAI, gemini20Flash } from '@genkit-ai/googleai';
const ai = genkit({ plugins: [googleAI()] });
const { text } = await ai.generate({
model: gemini20Flash,
prompt: 'Why is Firebase awesome?'
});
Google Imagen
import { genkit } from 'genkit';
import { vertexAI, Imagen3 } from '@genkit-ai/vertexai';
const ai = genkit({ plugins: [vertexAI()] });
const response = await ai.generate({
model: imagen3,
output: { format: 'media' },
prompt: 'a banana riding a bicycle',
});
return response.media();
OpenAI
import { genkit } from 'genkit';
import { openAI, gpt4o } from 'genkitx-openai';
const ai = genkit({ plugins: [openAI()] });
const { text } = await ai.generate({
model: gpt4o,
prompt: 'Why is Firebase awesome?'
});
Anthropic
import { genkit } from 'genkit';
import { anthropic, claude35Sonnet } from 'genkitx-anthropic';
const ai = genkit({ plugins: [anthropic()] });
const { text } = await ai.generate({
model: claude35Sonnet,
prompt: 'Why is Firebase awesome?'
});
Llama
import { genkit } from 'genkit';
import { llama31, vertexAIModelGarden } from '@genkit-ai/vertexai/modelgarden';
const ai = genkit({
plugins: [
vertexAIModelGarden({
location: 'us-central1',
models: [llama31],
}),
],
});
const { text } = await ai.generate({
model: llama31,
prompt: 'Why is Firebase awesome?',
});
Mistral
import { genkit } from 'genkit';
import { mistralLarge, vertexAIModelGarden } from '@genkit-ai/vertexai/modelgarden';
const ai = genkit({
plugins: [
vertexAIModelGarden({
location: 'us-central1',
models: [mistralLarge],
}),
],
});
const { text } = await ai.generate({
model: mistralLarge,
prompt: 'Why is Firebase awesome?',
});
Ollama
import { genkit } from 'genkit';
import { ollama } from 'genkitx-ollama';
const ai = genkit({
plugins: [
ollama({ models: [{ name: 'gemma' }] })
]
});
const { text } = await ai.generate({
model: 'ollama/gemma',
prompt: 'Why is Firebase awesome?',
});
使用 Genkit 进行探索和构建
免费试用 AI 示例应用,并直观地查看为其提供支持的 Genkit 代码。
请参阅我们的“使用入门”指南,只需几分钟即可创建自己的 AI 赋能功能。
主要功能
广泛支持 AI 模型 | 使用统一的界面与 Google、OpenAI、 Anthropic、Ollama 等提供商提供的数百个模型集成。探索、比较并使用最符合您需求的模型。 |
简化 AI 开发 | 使用简化版 API 构建 AI 功能,包括 结构化输出、代理工具调用、上下文感知生成、多模态输入/输出等。Genkit 可处理 AI 开发的复杂性,让您能够更快地构建和迭代。 |
适用于网站和移动设备 | 使用专用的客户端 SDK 和帮助程序,与 Next.js、React、Angular、iOS、Android 等框架和平台无缝集成。 |
随时随地部署 | 在支持 Node.js 的任何位置部署 AI 逻辑,例如 Cloud Functions for Firebase、Google Cloud Run 或第三方平台,无论是否使用 Google 服务。 |
开发者工具 | 借助专用的本地 CLI 和开发者界面,加快 AI 开发速度。针对单个输入或数据集测试问题和流程,比较不同模型的输出,使用详细的执行轨迹进行调试,并使用即时可视反馈快速迭代问题。 |
生产环境监控 | 借助全面的生产环境监控功能,您可以放心地发布 AI 功能。在 专用信息中心中跟踪模型性能以及请求量、延迟时间和错误率。借助详细的可观测性指标快速发现问题,并确保您的 AI 功能在实际使用中达到质量和性能目标。 |
工作原理
Genkit 通过可在各种模型提供商中使用的开源 SDK 和统一 API 简化了 AI 集成。它可以抽象化复杂性,让您可以专注于提供出色的用户体验。
Genkit 提供的一些主要功能包括:
Genkit 专为在 Node.js 环境中进行服务器端部署而设计,但还通过专用帮助程序和 Cloud Functions 客户端 SDK 提供无缝的客户端集成。
实现流程
选择模型提供方 | 选择模型提供方(例如 Google Gemini 或 Anthropic),然后获取 API 密钥。某些提供方(例如 Vertex AI)可能采用不同的身份验证方式。 | |
安装 SDK 并进行初始化 | 安装 Genkit SDK、您选择的模型提供程序软件包和 Genkit CLI。导入 Genkit 和提供程序软件包,然后使用提供程序 API 密钥初始化 Genkit。 | |
编写和测试 AI 功能 | 使用 Genkit SDK 为您的用例构建 AI 功能,从基本文本生成到复杂的多步工作流和代理。使用 CLI 和开发者界面快速进行测试和迭代。 | |
部署和监控 | 将 AI 功能部署到 Firebase、Google Cloud Run 或任何 Node.js 环境。将其集成到您的应用中,并在 Firebase 控制台中监控其在生产环境中的运行情况。 |
与我们联系
- 加入我们的 Discord 群组 - 获取帮助、分享想法,并与其他开发者聊天。
- 在 GitHub 上贡献 - 报告 bug、建议功能或浏览源代码。
后续步骤
开始创建您的首个 AI 赋能的功能,只需几分钟时间