OracleVS(Oracle AI Vector Search 的 LangChain 向量存储集成)来:
- 将文档和嵌入向量导入 Oracle
- 执行相似性搜索
- 创建 HNSW 和 IVF 索引
- 应用元数据过滤器进行高级检索
- 在 Oracle AI Database 26ai 中启用混合搜索(关键词 + 语义)
- 使用 Oracle Text 执行全文搜索
概述
集成详情
| 类 | 包 | 混合搜索 | Python 支持 |
|---|---|---|---|
OracleVS | @oracle/langchain-oracledb | ✅ | ✅ |
设置
安装 Oracle 客户端绑定和 LangChain Oracle 辅助工具:创建向量存储
以下示例假设您已创建包含向量和元数据列的表,并使用OracleEmbeddings 生成了嵌入向量。
OracleVS。存储会根据需要获取和释放连接。
过滤搜索结果
您可以将丰富的元数据过滤器作为第三个参数传递给similaritySearch、similaritySearchWithScore 或 similaritySearchVectorWithScore。过滤器作用于 Oracle VS 为每个文档维护的 JSON metadata 列。
支持的比较运算符包括 $eq(默认)、$ne、$lt、$lte、$gt、$gte、$in、$nin、$between 和 $exists。使用 $and 和 $or 组合子句以构建更具表达力的谓词。
使用向量索引加速搜索
Oracle 数据库可以通过在embedding 列上创建向量索引来加速相似性查询。@oracle/langchain-oracledb 辅助工具提供了一个 createIndex 实用程序,用于配置 HNSW(默认)或 IVF 索引。
HNSW 索引(默认)
当您需要一个平衡召回率和延迟的基于图的索引时,使用 HNSW。省略idxType 以使用默认配置,或覆盖参数如 neighbors、efConstruction 和 accuracy。
IVF 索引
通过传递idxType: "IVF" 以及要创建的邻居分区数量来切换到 IVF。IVF 将向量分区到聚类中,适用于需要可预测内存使用的粗量化场景。
initialize 之后)运行一次 createIndex,并在后续搜索中复用该索引。要重建或切换策略,请通过标准 SQL(DROP INDEX ...)删除现有索引,并使用新参数重新运行 createIndex。
后续步骤
- 使用
OracleDocLoader加载内容 - 使用
OracleEmbeddings生成嵌入向量 - 使用
OracleSummary总结文档
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

