- 从 Python 连接到 Oracle 数据库
- 使用
OracleDocLoader加载文档(来自数据库表、文件或目录) - 使用
OracleTextSplitter对内容分块,以备嵌入和检索
为什么要在数据库内进行文档处理? 您可以将 Oracle 数据库的能力——安全性、事务、可扩展性和高可用性——应用于加载、分块和存储 AI 搜索与检索内容的同一流程中。如果您刚开始使用 Oracle 数据库,可以探索 免费的 Oracle 26 AI,它提供了简单的入门方式。在使用数据库时,建议避免将
SYSTEM 用户用于应用负载,而是创建具有最低所需权限的专用用户。完整的端到端设置演示,请参阅 Oracle AI 向量搜索演示 notebook。关于用户管理的背景信息,请参阅官方 Oracle 指南。
前提条件
安装langchain-oracledb,python-oracledb 驱动将作为依赖自动安装。
连接到 Oracle 数据库
以下示例代码演示如何连接到 Oracle 数据库。默认情况下,python-oracledb 以”Thin”模式运行,直接连接到 Oracle 数据库,无需 Oracle 客户端库。但使用客户端库时可获得一些额外功能,此时称为”Thick”模式。两种模式均全面支持 Python Database API v2.0 规范。请参阅此 指南 了解各模式支持的功能。如果无法使用 thin 模式,可切换到 thick 模式。加载文档
用户可以通过适当配置加载器参数,灵活地从 Oracle 数据库、文件系统或两者同时加载文档。有关这些参数的详细说明,请参阅 Oracle AI 向量搜索指南。 使用 OracleDocLoader 的一大优势是它能够处理 150 多种不同的文件格式,无需为不同文档类型使用多个加载器。完整支持格式列表,请参阅 Oracle Text 支持的文档格式。 下面是演示如何使用OracleDocLoader 的示例代码片段:
拆分文档
文档大小可能差异很大,从很小到非常大不等。用户通常希望将文档分块为较小的片段,以便生成嵌入向量。此拆分过程提供了多种自定义选项。有关这些参数的详细说明,请参阅 Oracle AI 向量搜索指南。 下面是演示如何实现此功能的示例代码:端到端演示
请参阅完整演示指南 Oracle AI 向量搜索端到端演示指南,借助 Oracle AI 向量搜索构建完整的 RAG 流水线。将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时答案。

