跳到主要内容

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 文档。

Footnotes​

  1. 向量存储或向量数据库用于存储信息的数学表示。将其与嵌入模型和检索器配合使用,可创建供 AI 在回答问题时访问的数据库。 ↩

  2. AI 链通过对组件的一系列调用,让你与大语言模型(LLM)及其他资源交互。n8n 中的 AI 链不使用持久记忆,因此不能通过它引用先前的上下文(此用途请使用 AI 智能体)。 ↩

  3. AI 智能体是能够响应请求、作出决策并为用户执行现实任务的人工智能系统。它们使用大语言模型(LLM)理解用户输入,利用可用的信息和资源,决定如何最好地处理请求。 ↩

  4. 在 AI 场景中,工具是附加资源,AI 可在响应请求时调用它获取特定信息或功能。AI 模型可以通过工具与外部系统交互,或完成具体、专门的任务。 ↩

本文为社区中文翻译。查看对应英文原文