跳转至

Weaviate 向量存储节点#

使用 Weaviate 节点与您的 Weaviate 集合作为向量存储进行交互。您可以向向量数据库插入文档或从中检索文档。您还可以检索文档以提供给连接到的检索器,或直接将此节点连接到代理以用作工具。 在此页面上,您将找到 Weaviate 节点的节点参数和更多资源的链接。

凭证

您可以在这里找到此节点的身份验证信息。

子节点中的参数解析

子节点在使用表达式处理多个项目时,与其他节点的行为不同。

大多数节点(包括根节点)接受任意数量的项目作为输入,处理这些项目,并输出结果。您可以使用表达式引用输入项目,节点会依次为每个项目解析表达式。例如,给定五个 name 值的输入,表达式 {{ $json.name }} 会依次解析为每个名称。

在子节点中,表达式始终解析为第一个项目。例如,给定五个 name 值的输入,表达式 {{ $json.name }} 始终解析为第一个名称。

节点使用模式#

您可以通过以下模式使用 Weaviate 向量存储节点。

作为常规节点插入和检索文档#

您可以将 Weaviate 向量存储用作常规节点来插入或获取文档。此模式将 Weaviate 向量存储置于常规连接流中,而不使用代理。

直接连接到 AI 代理作为工具#

您可以将 Weaviate 向量存储节点直接连接到 AI 代理 的工具连接器,在回答查询时将向量存储用作资源。

这里的连接方式为:AI 代理(工具连接器)-> Weaviate 向量存储节点。

使用检索器获取文档#

您可以将向量存储检索器节点与 Weaviate 向量存储节点一起使用,从 Weaviate 向量存储节点获取文档。这通常与问答链节点一起使用,从向量存储中获取与给定聊天输入匹配的文档。

使用向量存储问答工具回答问题#

另一种模式使用向量存储问答工具来汇总结果并回答来自 Weaviate 向量存储节点的问题。与直接将 Weaviate 向量存储连接为工具不同,此模式使用专门设计用于汇总向量存储中数据的工具。

节点参数#

多租户

您可以为同一集合将数据分离到独立的租户中(例如,为不同的客户)。为此,在插入和检索对象时必须始终提供租户名称在 Weaviate 文档中阅读更多关于多租户的信息

操作模式#

此向量存储节点有四种模式:获取多个插入文档检索文档(作为链/工具的向量存储)检索文档(作为 AI 代理的工具)。您选择的模式决定了您可以使用节点执行的操作以及可用的输入和输出。

获取多个#

在此模式下,您可以通过提供提示从向量数据库中检索多个文档。提示会被嵌入并用于相似性搜索。节点返回与提示最相似的文档及其相似度分数。如果您想检索相似文档列表并将其作为额外上下文传递给代理,这非常有用。

插入文档#

使用插入文档模式将新文档插入到向量数据库中。

检索文档(作为链/工具的向量存储)#

使用检索文档(作为链/工具的向量存储)模式与向量存储检索器一起从向量数据库检索文档,并将其提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。

检索文档(作为 AI 代理的工具)#

使用检索文档(作为 AI 代理的工具)模式在回答查询时将向量存储用作工具资源。在制定响应时,当向量存储名称和描述与问题详细信息匹配时,代理会使用向量存储。

获取多个参数#

  • Weaviate Collection:输入要使用的 Weaviate 集合名称。
  • Prompt:输入搜索查询。
  • Limit:输入要从向量存储中检索的结果数量。例如,将此设置为10可获得十个最佳结果。

插入文档参数#

  • Weaviate Collection:输入要使用的 Weaviate 集合名称。
  • Embedding Batch Size:单批次嵌入的文档数量。默认值为 200 个文档。

检索文档参数(作为链/工具的向量存储)#

  • Weaviate Collection:输入要使用的 Weaviate 集合名称。

检索文档(作为 AI 代理的工具)参数#

  • Weaviate Collection:向量存储的名称。
  • Description:向 LLM 解释此工具的作用。良好、具体的描述能让 LLM 更频繁地产生预期结果。
  • Weaviate Collection:输入要使用的 Weaviate 集合名称。
  • Limit:输入要从向量存储中检索的结果数量。例如,将此设置为10可获得十个最佳结果。

包含元数据#

是否包含文档元数据。

您可以将此与获取多个检索文档(作为 AI 代理的工具)模式一起使用。

重新排序结果#

启用重新排序。如果您启用此选项,必须将重新排序节点连接到向量存储。该节点然后将对查询结果进行重新排序。您可以在 获取多个检索文档(作为链/工具的向量存储)检索文档(作为 AI 代理的工具) 模式下使用此选项。

节点选项#

搜索过滤器#

适用于获取多个检索文档(作为链/工具的向量存储)检索文档(作为 AI 代理的工具)操作模式。

搜索数据时,使用此功能匹配与文档关联的元数据。您可以在 Weaviate 的条件过滤器文档中了解有关运算符和查询结构的更多信息。

您可以将 ANDOR 与不同的运算符一起使用。运算符不区分大小写:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "OR": [
    {
        "path": ["source"],
        "operator": "Equal",
        "valueString": "source1"
    },
    {
        "path": ["source"],
        "operator": "Equal",
        "valueString": "source1"
    }
  ]
}

支持的运算符:

运算符 必需字段 说明
'equal' valueStringvalueNumber 检查属性是否等于给定的字符串或数字。
'like' valueString 检查字符串属性是否匹配模式(例如,子字符串匹配)。
'containsAny' valueTextArray (string[]) 检查属性是否包含给定值中的任意一个。
'containsAll' valueTextArray (string[]) 检查属性是否包含所有给定值。
'greaterThan' valueNumber 检查属性值是否大于给定数字。
'lessThan' valueNumber 检查属性值是否小于给定数字。
'isNull' valueBoolean (true/false) 检查属性是否为空。(必须在摄取前启用)
'withinGeoRange' valueGeoCoordinates (包含地理位置数据的对象) 按与地理坐标的接近程度进行过滤。

插入数据时,文档加载器设置元数据。请参考默认数据加载器了解有关加载文档的更多信息。

元数据键#

您可以定义希望 Weaviate 在查询中返回的元数据键。这可以减少网络负载,因为您只会获得已定义的属性。默认情况下返回服务器中的所有属性。

适用于获取多个检索文档(作为链/工具的向量存储)检索文档(作为 AI 代理的工具)操作模式。

租户名称#

要为其存储或检索文档的特定租户。

必须在创建时启用

您必须在首次摄取时传递租户名称以为集合启用多租户。创建后无法启用或禁用多租户。

文本键#

文档中包含嵌入文本的键。

跳过初始化检查#

是否在实例化客户端时跳过初始化检查

初始化超时#

在初始检查期间超时前等待的秒数。

插入超时#

在插入期间超时前等待的秒数。

查询超时#

在查询期间超时前等待的秒数。

GRPC 代理#

用于 gRPC 请求的代理。

清除数据#

适用于插入文档操作模式。

是否在插入新数据之前清除集合或租户。

模板和示例#

Build a Weekly AI Trend Alerter with arXiv and Weaviate

by Mary Newhauser

View template details
Build a PDF Search System with Mistral OCR and Weaviate DB

by Dietmar

View template details
Document Q&A with RAG: Query PDF Content using Weaviate and OpenAI

by Mary Newhauser

View template details
Browse Weaviate 向量存储 integration templates, or search all templates

相关资源#

请参考 LangChain 的 Weaviate 文档,了解有关该服务的更多信息。

请参考 Weaviate 安装,了解自托管 Weaviate 集群。

查看 n8n 的高级 AI 文档。

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持