Weaviate Vector Store 节点#
使用 Weaviate 节点可将您的 Weaviate 集合作为向量存储进行交互。您可以向向量数据库插入文档或从中检索文档。您也可以检索文档以提供给连接到链的检索器,或将此节点直接连接到代理以作为工具使用。 本页面列出了 Weaviate 节点的参数,并提供了更多资源的链接。
凭据
您可以在这里找到此节点的身份验证信息。
子节点中的参数解析
子节点在使用表达式处理多个项目时的行为与其他节点不同。
大多数节点,包括根节点,接受任意数量的项目作为输入,处理这些项目,并输出结果。您可以使用表达式引用输入项目,节点会依次为每个项目解析表达式。例如,给定五个 name
值的输入,表达式 {{ $json.name }}
会依次解析为每个名称。
在子节点中,表达式始终解析为第一个项目。例如,给定五个 name
值的输入,表达式 {{ $json.name }}
始终解析为第一个名称。
节点使用模式#
您可以按以下模式使用 Weaviate Vector Store 节点。
作为常规节点插入和检索文档#
您可以将 Weaviate Vector Store 作为常规节点来插入或获取文档。此模式将 Weaviate Vector Store 置于常规连接流程中,而无需使用代理。
直接连接到 AI 代理作为工具#
您可以将 Weaviate Vector Store 节点直接连接到 AI 代理的工具连接器,在回答查询时将向量存储用作资源。
此时,连接将是:AI 代理(工具连接器)-> 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 直接连接作为工具,而是使用专门设计用于总结向量存储中数据的工具。
节点参数#
多租户
您可以为同一集合将数据分离到隔离的租户中(例如,为不同的客户)。为此,在插入和检索对象时都必须始终提供租户名称。在 Weaviate 文档中了解有关多租户的更多信息。
操作模式#
此向量存储节点有四种模式:获取多个、插入文档、检索文档(作为链/工具的向量存储)和检索文档(作为 AI 代理的工具)。您选择的模式决定了您可以使用节点执行的操作以及可用的输入和输出。
获取多个#
在此模式下,您可以通过提供提示从向量数据库中检索多个文档。提示将被嵌入并用于相似性搜索。节点将返回与提示最相似的文档及其相似性分数。如果您想检索相似文档列表并将它们作为额外上下文传递给代理,这非常有用。
插入文档#
使用插入文档模式将新文档插入到您的向量数据库中。
检索文档(作为链/工具的向量存储)#
使用检索文档(作为链/工具的向量存储)模式与向量存储检索器一起从向量数据库检索文档,并将它们提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。
检索文档(作为 AI 代理的工具)#
使用检索文档(作为 AI 代理的工具)模式在回答查询时将向量存储用作工具资源。在制定响应时,当向量存储名称和描述与问题详细信息匹配时,代理会使用向量存储。
Get Many 参数#
- Weaviate Collection: 输入要使用的 Weaviate 集合名称。
- Prompt(提示): 输入搜索查询。
- Limit(限制): 输入要从向量存储检索的结果数量。例如,设置为
10
以获取十个最佳结果。
Insert Documents 参数#
- Weaviate Collection: 输入要使用的 Weaviate 集合名称。
- Embedding Batch Size(嵌入批量大小): 在单个批次中嵌入的文档数量。默认值为 200 个文档。
Retrieve Documents (As Vector Store for Chain/Tool) 参数#
- Weaviate Collection: 输入要使用的 Weaviate 集合名称。
Retrieve Documents (As Tool for AI Agent) 参数#
- Weaviate Collection: 向量存储的名称。
- Description(描述): 向 LLM 解释此工具的作用。良好、具体的描述使 LLM 更经常产生预期结果。
- Weaviate Collection: 输入要使用的 Weaviate 集合名称。
- Limit(限制): 输入要从向量存储检索的结果数量。例如,设置为
10
以获取十个最佳结果。
Include Metadata#
是否包含文档元数据。
您可以将此功能与 Get Many 和 Retrieve Documents (As Tool for AI Agent) 模式一起使用。
重新排序结果#
启用重新排序。如果启用此选项,您必须将重新排序节点连接到向量存储。然后该节点将为查询重新排序结果。您可以在 获取多个
、检索文档(作为链/工具的向量存储)
和检索文档(作为 AI 代理的工具)
模式下使用此选项。
节点选项#
Search Filters(搜索过滤器)#
适用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 操作模式。
在搜索数据时,使用此功能匹配与文档关联的元数据。您可以在 Weaviate 的条件过滤器文档中了解有关操作符和查询结构的更多信息。
您可以将 AND
和 OR
与不同的操作符一起使用。操作符不区分大小写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
支持的操作符:
操作符 | 必需字段 | 描述 |
---|---|---|
'equal' |
valueString 或 valueNumber |
检查属性是否等于给定的字符串或数字。 |
'like' |
valueString |
检查字符串属性是否匹配模式(例如,子字符串匹配)。 |
'containsAny' |
valueTextArray (string[]) |
检查属性是否包含给定值中的任意一个。 |
'containsAll' |
valueTextArray (string[]) |
检查属性是否包含给定值的全部。 |
'greaterThan' |
valueNumber |
检查属性值是否大于给定数字。 |
'lessThan' |
valueNumber |
检查属性值是否小于给定数字。 |
'isNull' |
valueBoolean (true/false) |
检查属性是否为空。(必须在摄取前启用) |
'withinGeoRange' |
valueGeoCoordinates (包含地理位置数据的对象) |
按地理坐标的接近程度进行过滤。 |
插入数据时,文档加载器设置元数据。有关加载文档的更多信息,请参阅 Default Data Loader。
Metadata Keys(元数据键)#
您可以定义希望 Weaviate 在查询中返回哪些元数据键。这可以减少网络负载,因为您只会获得已定义的属性。默认情况下返回服务器的所有属性。
适用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 操作模式。
Tenant Name(租户名称)#
要为其存储或检索文档的特定租户。
必须在创建时启用
您必须在首次摄取时传递租户名称以为集合启用多租户。创建后无法启用或禁用多租户。
Text Key(文本键)#
文档中包含嵌入文本的键。
Skip Init Checks(跳过初始化检查)#
在实例化客户端时是否跳过初始化检查。
Init Timeout(初始化超时)#
在初始检查期间超时前等待的秒数。
Insert Timeout(插入超时)#
在插入期间超时前等待的秒数。
Query Timeout(查询超时)#
在查询期间超时前等待的秒数。
GRPC Proxy#
用于 gRPC 请求的代理。
Clear Data(清除数据)#
适用于 Insert Documents 操作模式。
是否在插入新数据前清除集合或租户。
模板与示例#
相关资源#
更多信息请参阅 LangChain 的 Weaviate 文档。
有关自托管 Weaviate 集群的信息,请参阅 Weaviate 安装。
查看 n8n 的高级 AI文档。