生成式 AI 使用入门

本页面可帮助您开始在应用中实现生成式 AI 功能。它介绍了涉及生成式 AI 的 Firestore 功能和集成。

使用 Firestore 进行向量搜索的快速入门

为商品推荐和聊天机器人等用例创建创新的 AI 赋能解决方案通常需要向量相似性搜索(简称向量搜索)。您可以对 Firestore 数据执行向量搜索,而无需将数据复制到另一个向量搜索解决方案,从而保持操作简单性和效率。

Firestore 中矢量搜索的核心工作流包含 4 个步骤。

阅读我们的博文,全面了解向量搜索

生成向量嵌入

利用向量搜索的第一步是生成向量嵌入。嵌入是文本、图片和视频等不同类型数据的表示,它们捕捉它们所代表的实体之间的语义或语法相似性。您可以使用服务(例如 Vertex AI 文本嵌入 API)计算嵌入。

将嵌入存储在 Firestore 中

一旦生成嵌入,您就可以使用其中一个受支持的 SDK 将它们存储在 Firestore 中。该操作在 NodeJS SDK 中的效果如下所示:

const db = new Firestore();
let collectionRef = db.collection("beans");
await collectionRef.add({
  name: "Kahawa coffee beans",
  type: "arabica",
  description: "Information about the Kahawa coffee beans.",
  embedding_field: FieldValue.vector([0.1, 0.3, ..., 0.2]), // a vector with 768 dimensions
});

创建向量索引

下一步是创建 Firestore KNN 向量索引,其中存储了向量嵌入。在预览版期间,您需要使用 gcloud 命令行工具创建索引。

添加所有向量嵌入并创建向量索引后,您就一切准备就绪,可运行搜索。然后,您可以对集合引用使用 find_nearest 调用,以传递查询向量嵌入,从而与存储的嵌入进行比较,并指定要使用的距离函数。

请再次参阅我们的博文,了解工作流和更多使用场景。

摘要:存储和查询向量嵌入。

使用场景:此功能供其他工具和功能使用。

查看向量搜索指南

解决方案:使用 Firebase 扩展向量搜索

摘要:使用 Firebase Extensions 扩展程序,通过向量搜索功能自动嵌入和查询 Firestore 文档。

使用场景:在 Firebase 项目中执行自动向量搜索。

查看扩展程序说明

解决方案:LangChain 集成

摘要:使用 Firestore 作为 LangChain 的向量存储区、文档加载器或聊天消息记录来源。

使用场景:构建生成式 AI 应用或检索增强生成 (RAG) 工作流。

请参阅 LangChain 指南

解决方案:Genkit

摘要:Firebase Genkit 是一个开源框架,可帮助您构建、部署和监控可用于生产用途的 AI 赋能的应用。

使用场景:使用 Genkit 和 Firestore 创建 自定义内容, 使用语义搜索, 处理非结构化输入, 回答 商家数据方面的问题,等等!

请参阅 Firebase Genkit 文档