在复杂的企业环境中,能够有效地运行和管理 Oracle 数据库是关键。Google Cloud 提供的 El Carro 是一个开源的 Kubernetes 部署解决方案,旨在简化 Oracle 数据库的管理,并消除供应商锁定。通过 El Carro,您可以利用声明式 API 进行全面配置、实时操作监控和 AI 扩展。尤其值得一提的是,您可以通过 Langchain 集成实现与 AI 驱动的聊天应用的无缝连接。在本文中,我们将重点介绍如何使用 El Carro Langchain 集成来存储聊天消息历史。
技术背景介绍
El Carro 提供了一个开源的社区驱动平台,用于在 Kubernetes 中运行 Oracle 数据库。通过与 Langchain 的集成,开发者可以在 Oracle 数据库中轻松存储和管理聊天记录。这个生态系统允许我们在不受供应商锁定的情况下扩展数据库服务。
核心原理解析
我们将利用 ElCarroChatMessageHistory 类来存储聊天消息历史。这个类封装了与 Oracle 数据库的交互,只需简单配置即可实现历史记录的存储和查询。
代码实现演示
首先,我们需要安装相关的库:
%pip install --upgrade --quiet langchain-google-el-carro langchain-google-vertexai langchain
设置 Oracle 数据库连接
与 El Carro 的集成涉及到一个稳定的数据库连接池 ElCarroEngine:
from langchain_google_el_carro import ElCarroEngine
# 配置数据库连接参数
HOST = "127.0.0.1"
PORT = 3307
DATABASE = "my-database"
USER = "my-user"
PASSWORD = input("Please provide a password to be used for the database user: ")
# 初始化数据库连接池
elcarro_engine = ElCarroEngine.from_instance(
db_host=HOST,
db_port=PORT,
db_name=DATABASE,
db_user=USER,
db_password=PASSWORD,
)
初始化聊天消息历史记录表
# 初始化用于存储聊天记录的表
TABLE_NAME = "message_store"
elcarro_engine.init_chat_history_table(table_name=TABLE_NAME)
使用 ElCarroChatMessageHistory 类
from langchain_google_el_carro import ElCarroChatMessageHistory
# 初始化聊天消息历史对象
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?")
# 查看存储的消息
print(history.messages)
清理过时会话历史记录
# 清除特定会话的消息历史
history.clear()
应用场景分析
这种集成非常适合需要持久化用户与 AI 系统互动记录的企业应用场景。例如,客服系统可以利用这种集成方式,实现历史会话的存储和快速检索,提升用户体验并提供数据分析支持。
实践建议
- 性能优化:使用 El Carro 提供的连接池配置,确保高效的数据库连接管理。
- 数据安全:确保对数据库访问权限的严格控制,尤其是密码和连接信息。
- 可扩展性:利用 Kubernetes 平台的扩展能力,根据业务增长动态调整资源。
如果遇到问题欢迎在评论区交流。
—END—
668

被折叠的 条评论
为什么被折叠?



