实现云端聊天记录管理:使用 Google El Carro 与 Langchain 集成

103 阅读3分钟

引言

在云端运行数据库是许多企业的重要策略,因为它不仅能提高数据的可用性,还能为 AI 和其他现代技术的应用提供便利。Google Cloud 的 El Carro 为 Oracle 数据库提供了一种在 Kubernetes 中运行的无供应商锁定的开源容器编排系统。通过 El Carro,您可以扩展 Oracle 数据库的能力,借助 Langchain 集成构建 AI 驱动的聊天功能。在这篇文章中,我们将探讨如何利用 El Carro 的 Langchain 集成来存储聊天消息记录,帮助您在云端管理和分析用户交互数据。

主要内容

1. El Carro 与 Langchain 集成概述

El Carro 为 Oracle 数据库在 Kubernetes 中的运行提供了强大的声明式 API,涵盖配置、部署、实时操作和监控。通过与 Langchain 的集成,可以轻松实现聊天记录的存储和管理。

2. 环境准备

在开始之前,确保您已经准备好以下环境:

  • 一个运行中的 Oracle 数据库实例
  • 安装并配置好 Google Cloud CLI
  • 安装必要的 Python 包
%pip install --upgrade --quiet langchain-google-el-carro langchain-google-vertexai langchain

此外,请根据您的开发环境选择相应的 Google Cloud 认证方式。

3. Oracle 数据库连接配置

设置连接参数以连接到您的 Oracle 数据库:

HOST = "127.0.0.1"  # 使用API代理服务提高访问稳定性
PORT = 3307
DATABASE = "my-database"
TABLE_NAME = "message_store"
USER = "my-user"
PASSWORD = input("Please provide a password to be used for the database user: ")

4. 使用 El Carro 管理聊天记录

通过 ElCarroEngineElCarroChatMessageHistory 类,您可以轻松管理聊天记录。

from langchain_google_el_carro import ElCarroEngine, ElCarroChatMessageHistory

# 初始化数据库连接实例
elcarro_engine = ElCarroEngine.from_instance(
    db_host=HOST,
    db_port=PORT,
    db_name=DATABASE,
    db_user=USER,
    db_password=PASSWORD,
)

# 初始化聊天记录表
elcarro_engine.init_chat_history_table(table_name=TABLE_NAME)

# 管理聊天消息
history = ElCarroChatMessageHistory(
    elcarro_engine=elcarro_engine,
    session_id="test_session",
    table_name=TABLE_NAME
)

history.add_user_message("hi!")
history.add_ai_message("whats up?")

代码示例

以下是一个完整的代码示例,包括创建表、添加消息和检索消息的步骤:

from langchain_google_el_carro import ElCarroEngine, ElCarroChatMessageHistory

HOST = "127.0.0.1"  # 使用API代理服务提高访问稳定性
PORT = 3307
DATABASE = "my-database"
TABLE_NAME = "message_store"
USER = "my-user"
PASSWORD = "secret"

# 初始化数据库连接
elcarro_engine = ElCarroEngine.from_instance(
    db_host=HOST,
    db_port=PORT,
    db_name=DATABASE,
    db_user=USER,
    db_password=PASSWORD,
)

# 初始化聊天记录表
elcarro_engine.init_chat_history_table(table_name=TABLE_NAME)

# 操作聊天记录
history = ElCarroChatMessageHistory(
    elcarro_engine=elcarro_engine,
    session_id="test_session",
    table_name=TABLE_NAME
)
history.add_user_message("Hello!")
history.add_ai_message("Welcome! How can I help you today?")
print(history.messages)

常见问题和解决方案

  1. 网络限制问题:由于网络限制,访问 Google API 和 Oracle 数据库时可能会遇到问题。这时可以考虑使用 API 代理服务来提高访问稳定性。

  2. 认证错误:如果遇到 Google Cloud 认证问题,请确保您正确配置 IAM 并已安装 Google Cloud CLI。

总结和进一步学习资源

通过这篇文章,我们了解了如何使用 Google El Carro 和 Langchain 集成来管理聊天消息记录。这种方法不仅为 Oracle 数据库提供了更多的功能,还能帮助企业在云端更好地管理用户交互。为了更深入地了解相关技术,您可以参考以下资源:

参考资料

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

---END---