Oracle Database Vector Store(Oracle 数据库向量存储) 节点
使用 Oracle Database Vector Store 节点,将 Oracle Database 作为向量存储1进行交互。可向向量表插入文档、从中获取文档、检索文档并提供给连接到链2的检索器,或作为工具3直接连接到智能体4。
本页列出了 Oracle Database Vector Store 节点的参数,并提供更多资源的链接。
凭据
此节点的身份验证信息,请参阅 Oracle Database 凭据文档。
Oracle Database 向量支持
Oracle Database 实例必须支持 Oracle AI Vector Search,才能执行向量存储操作。详情请参阅 Oracle AI Vector Search 指南。
子节点中的参数解析
使用表达式处理多个数据项时,子节点的行为与其他节点不同。
多数节点,包括根节点,可以接收任意数量的输入数据项,处理后输出结果。你可以用表达式引用输入数据项,节点会依次对每个数据项解析表达式。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 会依次解析为每个名称。
在子节点中,表达式始终解析为第一个数据项。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 始终解析为第一个名称。
节点使用模式
可按以下方式使用 Oracle Database Vector Store 节点。
作为普通节点插入和检索文档
可将 Oracle Database Vector Store 用作普通节点,插入或获取文档。此模式将 Oracle Database Vector Store 放在常规连接流程中,无需使用智能体。
示例请参阅此模板的场景 1(该模板使用 Supabase Vector Store,但模式相同)。
作为工具直接连接到 AI 智能体
可将 Oracle Database Vector Store 节点直接连接到 AI 智能体的工具连接器,让智能体在回答查询时使用向量存储作为资源。
此时连接方式为:AI Agent(工具连接器)→ Oracle Database Vector Store 节点。
使用检索器获取文档
可将 Vector Store Retriever 节点与 Oracle Database Vector Store 节点配合使用,从 Oracle Database Vector Store 节点获取文档。这通常与 Question and Answer Chain 节点配合,从向量存储获取与给定聊天输入匹配的文档。
连接流程示例如下(链接示例使用 Pinecone,但模式相同):Question and Answer Chain(Retriever 连接器)→ Vector Store Retriever(Vector Store 连接器)→ Oracle Database Vector Store。
使用 Vector Store Question Answer Tool 回答问题
另一种模式使用 Vector Store Question Answer Tool,汇总 Oracle Database Vector Store 节点的结果并回答问题。此模式通过专门用于汇总向量存储数据的工具工作,无需将 Oracle Database Vector Store 直接作为工具连接。
此时的连接流程如下(链接示例使用 Simple Vector Store,但模式相同):AI Agent(工具连接器)→ Vector Store Question Answer Tool(Vector Store 连接器)→ Oracle Database Vector Store。
节点参数
此向量存储节点有四种模式:Get Many(获取多条)、Insert Documents(插入文档)、Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)及 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具)。所选模式决定可执行的操作,以及可用的输入和输出。
Rerank Results(结果重排序)
启用重排序。开启此选项后,必须将 Reranker Cohere(Cohere 重排序器)等重排序节点连接到向量存储,由其重新排列查询结果。此选项可用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 模式。
Get Many(获取多条)参数
- Table Name(表名称):输入要查询的表名称。表不存在时,节点会创建该表。
- Prompt(提示词):输入搜索查询。
- Limit(上限):输入数字,设置从向量存储检索的结果数量。例如,设为
10可获取最匹配的十条结果。
Insert Documents(插入文档)参数
- Table Name(表名称):输入用于存储向量的表名称。表不存在时,节点会创建该表。
Retrieve Documents(作为链或工具的向量存储)参数
- Table Name(表名称):输入要查询的表名称。
Retrieve Documents(作为 AI 智能体的工具)参数
- Name(名称):向量存储的名称。
- Description(描述):向 LLM 说明此工具的用途。清晰、具体的描述有助于 LLM 更经常地生成预期结果。
- Table Name(表名称):输入要查询的 Oracle Database 向量表。
- Limit(上限):输入从向量存储检索的结果数量。例如,设为
10可获取最匹配的十条结果。
节点选项
Distance Strategy(距离策略)
适用于 Get Many(获取多条)和 Retrieve Documents(检索文档)模式。此选项指定计算两个向量之间距离的方法,可选:
- Cosine(余弦)
- Inner Product(内积)
- Euclidean(欧几里得)
- Manhattan(曼哈顿)
- Euclidean Squared(欧几里得距离平方)
- Hamming(汉明)
Metadata Filter(元数据过滤器)
适用于 Get Many(获取多条)、Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)和 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体的工具)模式。搜索数据时,可用此选项匹配文档关联的元数据。
在界面中指定多个元数据过滤字段时,所有字段都必须匹配,其行为类似 AND 查询。
对于高级过滤,Oracle Database Vector Store 会将元数据过滤器传递给 Oracle AI Vector Search。它支持更丰富的过滤对象,包括数组、嵌套过滤器、$gte 等比较运算符、$nin 等排除运算符和 $and 等逻辑运算符。
插入数据时,通过文档加载器设置元数据。加载文档的更多信息,请参阅 Default Data Loader。