OracleVS(Oracle AI Vector Search 的 LangChain 向量存储集成)来:
- 将文档和嵌入摄取到 Oracle 中
- 运行相似性搜索
- 创建 HNSW 和 IVF 索引
- 应用元数据过滤器进行高级检索
- 在 Oracle AI Database 26ai 中启用混合搜索(关键词 + 语义)
- 使用 Oracle Text 运行全文搜索
概述
集成详情
| 类 | 包 | 混合搜索 | PY 支持 |
|---|---|---|---|
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 Database 可以通过在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总结文档
通过 MCP 将这些文档连接到 Claude、VSCode 等 以获取实时答案。

