利用Google Cloud SQL和SQL Server存储和管理聊天记录

## 技术背景介绍

Google Cloud SQL是一项完全托管的关系数据库服务,支持MySQL、PostgreSQL和SQL Server等数据库引擎。您可以利用Cloud SQL的Langchain集成,构建强大的AI应用程序。本文将深入讲解如何使用Google Cloud SQL for SQL Server来存储聊天消息历史,结合MSSQLChatMessageHistory类进行实践。

## 核心原理解析

MSSQLChatMessageHistory是一个用于管理聊天记录的类,通过与Google Cloud SQL的集成,使得开发者可以方便地将聊天记录存储到SQL Server数据库中。此实现依赖于MSSQLEngine作为连接池来管理与Cloud SQL的连接。

## 代码实现演示

### 🦜🔗 安装库

我们将使用`langchain-google-cloud-sql-mssql`包来完成这一集成。

```bash
%pip install --upgrade --quiet langchain-google-cloud-sql-mssql langchain-google-vertexai

🔐 身份验证

在Google Cloud中进行身份验证以访问您的项目。

from google.colab import auth

auth.authenticate_user()

☁ 设置Google Cloud项目

设置您的Google Cloud项目ID,以便在该环境中利用Google资源。

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数据库值

找到并设置您的数据库相关参数。

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连接池,确保应用程序能够成功连接到Cloud SQL数据库。

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?")

print(history.messages)

🗑️ 清理数据

删除特定会话的历史数据。

history.clear()

应用场景分析

这种集成方式适用于需要在云端存储和管理大量聊天记录的应用程序,尤其是在构建需要用户交互历史的智能助手时能够发挥优势。

实践建议

  • 确保及时验证和启用相关API,以确保服务的可用性。
  • 在实际应用中,可以结合Google的Vertex AI进行更多自然语言处理任务。

如果遇到问题欢迎在评论区交流。

---END---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值