本页面可帮助您开始在应用中实现生成式 AI 功能。它介绍了涉及生成式 AI 的 Firestore 功能和集成。
使用 Cloud Firestore 进行向量搜索的快速入门
为商品推荐和聊天机器人等用例创建创新的 AI 赋能解决方案通常需要向量相似性搜索(简称向量搜索)。您可以对 Firestore 数据执行向量搜索,而无需将数据复制到另一个向量搜索解决方案,从而保持操作简单性和效率。
Cloud 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) 工作流。
解决方案:Genkit
摘要:Firebase Genkit 是一个开源框架,可帮助您构建、部署和监控可用于生产用途的 AI 赋能的应用。
使用场景:使用 Genkit 和 Cloud Firestore 创建可提供以下各种功能的应用:生成自定义内容、使用语义搜索、处理非结构化输入、使用您的业务数据回答问题等等!