Oracle 自治数据库是一种云数据库,使用机器学习来自动化数据库调优、安全、备份、更新以及其他传统上由 DBA 执行的常规管理任务。
本笔记本介绍如何从 Oracle 自治数据库加载文档。
先决条件
一个数据库 python-oracledb'的默认 'Thin' 模式可以连接。这是 Oracle 自治数据库的情况,请参见 python-oracledb 架构.
您需要安装 langchain-oracledb 来使用此集成。
python-oracledb 驱动程序作为 langchain-oracledb 的依赖项自动安装。
# python -m pip install -U langchain-oracledb
说明
from langchain_oracledb.document_loaders import OracleAutonomousDatabaseLoader
from settings import s
使用相互 TLS 身份验证 (mTLS) 时,钱包_位置和钱包_密码参数是创建连接所必需的。请参阅 python-oracledb 文档 连接到 Oracle Cloud 自治数据库.
SQL_QUERY = "select prod_id, time_id from sh.costs fetch first 5 rows only"
doc_loader_1 = OracleAutonomousDatabaseLoader(
query=SQL_QUERY,
user=s.USERNAME,
password=s.PASSWORD,
schema=s.SCHEMA,
config_dir=s.CONFIG_DIR,
wallet_location=s.WALLET_LOCATION,
wallet_password=s.PASSWORD,
dsn=s.DSN,
)
doc_1 = doc_loader_1.load()
doc_loader_2 = OracleAutonomousDatabaseLoader(
query=SQL_QUERY,
user=s.USERNAME,
password=s.PASSWORD,
schema=s.SCHEMA,
dsn=s.DSN,
wallet_location=s.WALLET_LOCATION,
wallet_password=s.PASSWORD,
)
doc_2 = doc_loader_2.load()
使用单向 TLS 身份验证时,只需数据库凭据和连接字符串即可建立连接。下面的示例还展示了使用参数传递绑定变量值 parameters.
SQL_QUERY = "select channel_id, channel_desc from sh.channels where channel_desc = :1 fetch first 5 rows only"
doc_loader_3 = OracleAutonomousDatabaseLoader(
query=SQL_QUERY,
user=s.USERNAME,
password=s.PASSWORD,
schema=s.SCHEMA,
config_dir=s.CONFIG_DIR,
dsn=s.DSN,
parameters=["Direct Sales"],
)
doc_3 = doc_loader_3.load()
doc_loader_4 = OracleAutonomousDatabaseLoader(
query=SQL_QUERY,
user=s.USERNAME,
password=s.PASSWORD,
schema=s.SCHEMA,
dsn=s.DSN,
parameters=["Direct Sales"],
)
doc_4 = doc_loader_4.load()