Firestore 是一个无服务器的面向文档的数据库,可根据任何需求进行扩展。通过利用 Firestore 的 LangChain 集成,扩展您的数据库应用程序以构建 AI 驱动的体验。本笔记本介绍了如何使用 Firestore 存储向量并使用
FirestoreVectorStore 类进行查询。 开始之前
要运行此 notebook,您需要执行以下操作 在本 notebook 的运行时环境中确认数据库访问权限后,填写以下值并运行该单元格,然后再运行示例脚本。🦜🔗 库安装
该集成位于其自己的langchain-google-firestore 包中,因此我们需要安装它。对于本笔记本,我们还将安装 langchain-google-genai 以使用 Google Generative AI 嵌入。
☁ 设置您的 Google Cloud 项目
设置您的 Google Cloud 项目,以便您可以在此 notebook 中利用 Google Cloud 资源。 如果您不知道您的项目 ID,请尝试以下操作:- 运行
gcloud config list。 - 运行
gcloud projects list。 - 查看支持页面:查找项目 ID。
🔐 身份验证
以登录到此 notebook 的 IAM 用户身份向 Google Cloud 进行身份验证,以访问您的 Google Cloud 项目。- 如果您正在使用 Colab 运行此 notebook,请使用下面的单元格并继续。
- 如果您正在使用 Vertex AI Workbench,请查看此处的设置说明。
基本用法
初始化 FirestoreVectorStore
FirestoreVectorStore 允许您在 Firestore 数据库中存储新向量。您可以使用它来存储来自任何模型的嵌入,包括来自 Google Generative AI 的嵌入。
from_texts 和 from_documents 方法一步完成初始化和添加向量。
删除向量
您可以使用delete 方法从数据库中删除带有向量的文档。您需要提供要删除的向量的文档 ID。这将从数据库中删除整个文档,包括它可能拥有的任何其他字段。
更新向量
更新向量与添加向量类似。您可以使用add 方法通过提供文档 ID 和新向量来更新文档的向量。
相似度搜索
您可以使用FirestoreVectorStore 对您存储的向量执行相似度搜索。这对于查找相似的文档或文本非常有用。
filters 参数为搜索添加预过滤器。这对于按特定字段或值进行过滤非常有用。
自定义连接和认证
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。