Oracle AI 数据库通过将非结构化内容中的语义搜索与业务数据中的关系查询结合,在一个系统中支持文档中心式 AI 工作流。这使得构建检索工作流(如 RAG)时无需将数据与向量拆分到多个数据库。
在本指南中,您将学习如何:
- 从 Python 连接 Oracle 数据库
- 使用
OracleDocLoader 加载文档(从数据库表、文件或目录)
- 使用
OracleTextSplitter 分割内容以准备嵌入和检索
为什么在数据库内处理文档?
您可以将 Oracle 数据库的能力(安全、事务、可扩展性、高可用性)应用于加载、分割和存储内容以支持 AI 搜索与检索的同一管道。
如果您刚开始使用 Oracle 数据库,建议探索 免费 Oracle 26 AI,该版本提供了一种快速入门的方式。在使用数据库时,通常建议避免使用 SYSTEM 用户处理应用负载;建议创建具有最小权限的专用用户。完整的端到端配置步骤请参考 Oracle AI 向量搜索演示笔记本。关于用户管理的背景知识,请查阅官方 Oracle 指南。
预先条件
安装 langchain-oracledb。python-oracledb 驱动会自动安装为依赖项。
连接到 Oracle 数据库
以下示例代码将展示如何连接到 Oracle 数据库。默认情况下,python-oracledb 运行在“Thin”模式,直接连接到 Oracle 数据库。该模式无需 Oracle 客户端库。但使用客户端库时(即“Thick”模式),可提供更多功能。两种模式均完整支持 Python 数据库 API v2.0 规范。请参考 此指南了解各模式支持的功能。如果您无法使用 Thin 模式,可能需要切换到 Thick 模式。
现在让我们创建一个表并插入一些测试文档。
加载文档
用户可通过配置加载器参数从 Oracle 数据库、文件系统或两者同时加载文档。详细参数说明请查阅 Oracle AI 向量搜索指南。
使用 OracleDocLoader 的显著优势在于可处理超过 150 种不同格式的文档,无需为不同文档类型配置多个加载器。完整支持的格式列表请参考 Oracle Text 支持的文档格式。
以下代码片段演示了 OracleDocLoader 的使用方法:
分割文档
文档大小可能从很小到非常大。用户通常倾向于将文档分割为较小部分以生成嵌入。分割过程提供丰富的定制选项。详细参数说明请查阅 Oracle AI 向量搜索指南。
以下代码示例展示了如何实现该功能:
端到端演示
请参考完整演示指南 Oracle AI 向量搜索端到端演示指南,使用 Oracle AI 向量搜索构建完整的 RAG 管道。
官方原文:src/oss/python/integrations/document_loaders/oracleai.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026