引言
在现代应用中,数据库的管理和扩展能力是成功的关键因素之一。Google El Carro是一款专为Oracle数据库设计的Kubernetes管理工具,提供了一种无厂商锁定、开源的容器编排系统,能够在多样化的环境中轻松管理Oracle数据库。本指南将探索Google El Carro与Langchain的集成,展示如何使用ElCarroLoader和ElCarroDocumentSaver在Oracle数据库中存储、加载和删除文档。
主要内容
设置前提条件
开始之前,请确保已完成El Carro Oracle数据库的配置。详细信息可以在GitHub的README文件中找到。
安装🦜🔗库
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连接池
配置连接池以实现稳定的数据库连接:
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)
saver.delete(docs)
常见问题和解决方案
-
网络访问问题: 某些地区可能存在网络访问限制,建议使用API代理服务来提高访问稳定性。
-
表结构变化: 如果数据库表的架构发生变化,确保在代码中及时更新相关表属性。
总结与进一步学习资源
通过使用Google El Carro,开发者可以在Kubernetes中高效地管理Oracle数据库,并通过Langchain轻松扩展功能。为了更好地掌握这些工具,推荐继续查看以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—