Weaviate Vector Store(Weaviate 向量存储)
使用 Weaviate 节点,将 Weaviate 集合作为向量存储1进行交互。可向向量数据库插入文档或从中检索文档,也可检索文档并提供给连接到链2的检索器,或将此节点直接连接到智能体3作为工具4使用。本页列出了 Weaviate 节点的参数,并提供更多资源的链接。
凭据
此节点的身份验证信息,请参阅 Weaviate 凭据文档。
子节点中的参数解析
使用表达式处理多个数据项时,子节点的行为与其他节点不同。
多数节点,包括根节点,可以接收任意数量的输入数据项,处理后输出结果。你可以用表达式引用输入数据项,节点会依次对每个数据项解析表达式。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 会依次解析为每个名称。
在子节点中,表达式始终解析为第一个数据项。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 始终解析为第一个名称。
节点使用模式
可按以下方式使用 Weaviate Vector Store 节点。
作为普通节点插入和检索文档
可将 Weaviate Vector Store 用作普通节点,插入或获取文档。此模式将 Weaviate Vector Store 放在常规连接流程中,无需使用智能体。
作为工具直接连接到 AI 智能体
可将 Weaviate Vector Store 节点直接连接到 AI 智能体的工具连接器,让智能体在回答查询时使用向量存储作为资源。
此时连接方式为:AI Agent(工具连接器)→ Weaviate Vector Store 节点。
使用检索器获取文档
可将 Vector Store Retriever 节点与 Weaviate Vector Store 节点配合使用,从 Weaviate Vector Store 节点获取文档。这通常与 Question and Answer Chain 节点配合,从向量存储获取与给定聊天输入匹配的文档。
使用 Vector Store Question Answer Tool 回答问题
另一种模式使用 Vector Store Question Answer Tool,汇总 Weaviate Vector Store 节点的结果并回答问题。此模式通过专门用于汇总向量存储数据的工具工作,无需将 Weaviate Vector Store 直接作为工具连接。
节点参数
多租户
可将同一集合中的数据划分到相互隔离的租户中(例如供不同客户使用)。为此,插入和检索对象时都必须始终提供 Tenant Name(租户名称)。在 Weaviate 文档中了解多租户的更多信息。
此向量存储节点有四种模式:Get Many(获取多条)、Insert Documents(插入文档)、Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)及 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具)。所选模式决定可执行的操作,以及可用的输入和输出。
Get Many(获取多条)参数
- Weaviate Collection(Weaviate 集合):输入要使用的 Weaviate 集合名称。
- Prompt(提示词):输入搜索查询。
- Limit(上限):输入从向量存储检索的结果数量。例如,设为
10可获取最匹配的十条结果。
Insert Documents(插入文档)参数
- Weaviate Collection(Weaviate 集合):输入要使用的 Weaviate 集合名称。
- Embedding Batch Size(嵌入批次大小):单个批次中生成嵌入的文档数量,默认为 200 个文档。
Retrieve Documents(作为链或工具的向量存储)参数
- Weaviate Collection(Weaviate 集合):输入要使用的 Weaviate 集合名称。
Retrieve Documents(作为 AI 智能体的工具)参数
- Weaviate Collection(Weaviate 集合):向量存储的名称。
- Description(描述):向 LLM 说明此工具的用途。清晰、具体的描述有助于 LLM 更经常地生成预期结果。
- Weaviate Collection(Weaviate 集合):输入要使用的 Weaviate 集合名称。
- Limit(上限):输入从向量存储检索的结果数量。例如,设为
10可获取最匹配的十条结果。
Include Metadata(包含元数据)
是否包含文档元数据。
可与 Get Many(获取多条)和 Retrieve Documents(作为 AI 智能体的工具)模式配合使用。
Rerank Results(结果重排序)
启用重排序。开启此选项后,必须将 Reranker Cohere(Cohere 重排序器)等重排序节点连接到向量存储,由其重新排列查询结果。此选项可用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 模式。
节点选项
Search Filters(搜索过滤器)
适用于 Get Many(获取多条)、Retrieve Documents(作为链或工具的向量存储)和 Retrieve Documents(作为 AI 智能体的工具)操作模式。
搜索数据时,用于匹配文档关联的元数据。运算符和查询结构的更多信息,请参阅 Weaviate 条件过滤器文档。
可使用 AND 和 OR 搭配不同运算符。运算符不区分大小写:
{
"OR": [
{
"path": ["source"],
"operator": "Equal",
"valueString": "source1"
},
{
"path": ["source"],
"operator": "Equal",
"valueString": "source1"
}
]
}
支持的运算符:
| 运算符 | 必需字段 | 描述 |
|---|---|---|
'equal' | valueString 或 valueNumber | 检查属性是否等于给定字符串或数字。 |
'like' | valueString | 检查字符串属性是否匹配模式(例如子字符串匹配)。 |
'containsAny' | valueTextArray(字符串数组) | 检查属性是否包含给定值中的任意一个。 |
'containsAll' | valueTextArray(字符串数组) | 检查属性是否包含给定的全部值。 |
'greaterThan' | valueNumber | 检查属性值是否大于给定数字。 |
'lessThan' | valueNumber | 检查属性值是否小于给定数字。 |
'isNull' | valueBoolean(true/false) | 检查属性是否为 null。(必须在导入数据前启用) |
'withinGeoRange' | valueGeoCoordinates(包含地理位置数据的对象) | 按与地理坐标的距离进行过滤。 |
插入数据时,由文档加载器设置元数据。加载文档的更多信息,请参阅 Default Data Loader。
Metadata Keys(元数据键)
可定义希望 Weaviate 在查询时返回哪些元数据键。这样只获取已指定的属性,可减少网络负载。默认返回服务器中的所有属性。
适用于 Get Many(获取多条)、Retrieve Documents(作为链或工具的向量存储)和 Retrieve Documents(作为 AI 智能体的工具)操作模式。
Hybrid: Query Text(混合搜索:查询文本)
提供查询文本,将向量搜索与关键词或文本搜索结合。
Hybrid: Explain Score(混合搜索:解释分数)
是否显示混合搜索融合分数及向量搜索解释。
Hybrid: Fusion Type(混合搜索:融合类型)
选择合并向量搜索和关键词搜索结果的融合类型。了解融合算法的更多信息。
选项:
- Relative Score(相对分数):使用相对分数融合
- Ranked(排名):使用排名融合
Hybrid: Auto Cut Limit(混合搜索:自动截断上限)
通过检测分数的突然跳变,限制结果组。了解 autocut 的更多信息。
Hybrid: Alpha( 混合搜索:Alpha)
调整关键词和向量部分的相对权重。1.0 = 纯向量,0.0 = 纯关键词,默认值为 0.5。了解 alpha 参数的更多信息。
Hybrid: Query Properties(混合搜索:查询属性)
以逗号分隔的查询属性列表,可选择为属性值设置权重,例如“question^2,answer”。了解属性值权重设置的更多信息。
Hybrid: Max Vector Distance(混合搜索:最大向量距离)
设置向量搜索部分允许的最大距离。
Tenant Name(租户名称)
要为其存储或检索文档的具体租户。了解多租户的更多信息。
必须在创建时启用
首次导入数据时必须传入租户名称,才能为集合启用多租户。创建后无法启用或禁用多租户。
Text Key(文本键)
文档中包含用于生成嵌入的文本的键。
Skip Init Checks(跳过初始化检查)
实例化客户端时,是否跳过初始化检查。
Init Timeout(初始化超时)
初始检查中超时前等待的秒数。
Insert Timeout(插入超时)
插入时超时前等待的秒数。
Query Timeout(查询超时)
查询时超时前等 待的秒数。
GRPC Proxy(gRPC 代理)
用于 gRPC 请求的代理。
Clear Data(清空数据)
适用于 Insert Documents(插入文档)操作模式。
是否在插入新数据之前清空集合或租户。
模板与示例
浏览 Weaviate Vector Store(Weaviate 向量存储) 集成模板,或搜索所有模板
相关资源
该服务 的更多信息,请参阅 LangChain Weaviate 文档。
关于自托管 Weaviate 集群,请参阅 Weaviate 安装。
查看 n8n 的高级 AI 文档。