Milvus 向量存储节点#
使用 Milvus 节点与你的 Milvus 数据库进行交互,作为向量存储。你可以将文档插入向量数据库、从向量数据库中获取文档、检索文档以提供给连接到链(chain)的检索器(retriever),或直接作为工具(tool)连接到智能代理(agent)。
本页面包含 Milvus 节点的参数说明以及相关资源链接。
凭据
你可以在此处找到该节点的认证信息。
子节点中的参数解析
当使用表达式处理多个数据项时,子节点的行为与其他节点不同。
大多数节点(包括根节点)可以接收任意数量的数据项作为输入,逐个处理这些项,并输出结果。你可以使用表达式引用输入项,节点会依次为每一项解析该表达式。例如,如果有五个 name 值作为输入,表达式 {{ $json.name }} 会依次解析为每一个名字。
而在子节点中,表达式始终解析为第一个数据项。例如,即使有五个 name 值输入,表达式 {{ $json.name }} 也总是解析为第一个名字。
节点使用模式#
你可以通过以下几种方式使用 Milvus 向量存储节点。
作为普通节点插入和检索文档#
你可以将 Milvus 向量存储作为普通节点来插入或获取文档。这种模式下,Milvus 向量存储节点处于常规连接流程中,不涉及智能代理。
参见此示例模板,了解如何构建一个系统:将文档存储在 Milvus 中,并在回答问题时检索相关内容,实现带引用来源的聊天式应答。
直接作为工具连接到 AI 代理#
你可以将 Milvus 向量存储节点直接连接到 AI 代理 的“工具”连接器上,在回答查询时利用向量存储作为知识资源。
此时的连接路径为:AI 代理(工具连接器)→ Milvus 向量存储节点。参见此示例模板,其中数据被嵌入并索引至 Milvus,AI 代理使用该向量存储作为问答的知识工具。
使用检索器获取文档#
你可以将 向量存储检索器(Vector Store Retriever) 节点与 Milvus 向量存储节点结合使用,从 Milvus 中提取文档。通常与 问答链(Question and Answer Chain) 节点配合使用,以从向量存储中检索出与用户聊天输入相匹配的文档。
典型的节点连接流程如下: 问答链(Retriever 连接器)→ 向量存储检索器(Vector Store 连接器)→ Milvus 向量存储。
查看此工作流示例,了解如何将外部数据导入 Milvus,并构建基于聊天的语义问答系统。
使用向量存储问答工具回答问题#
另一种模式是使用 向量存储问答工具(Vector Store Question Answer Tool) 对 Milvus 向量存储中的结果进行总结并回答问题。与直接将 Milvus 向量存储作为工具不同,此模式使用专为汇总向量存储数据而设计的工具。
连接流程如下: AI 代理(工具连接器)→ 向量存储问答工具(Vector Store 连接器)→ Milvus 向量存储。
节点参数#
操作模式#
该向量存储节点有四种模式:Get Many、Insert Documents、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent)。所选模式决定了节点可执行的操作以及可用的输入和输出。
Get Many#
在此模式下,你可以通过提供提示词(prompt)从向量数据库中检索多个文档。提示词会被嵌入并向量数据库执行相似性搜索。节点返回与提示最相似的文档及其相似度得分。当你希望获取一组相似文档并将其作为额外上下文传递给智能代理时,此功能非常有用。
Insert Documents#
使用“插入文档”模式将新文档插入向量数据库。
Retrieve Documents (as Vector Store for Chain/Tool)#
使用“检索文档(作为链/工具的向量存储)”模式,配合向量存储检索器(retriever),从向量数据库中检索文档,并提供给连接到链(chain)的检索器。在此模式下,必须将该节点连接到一个检索器节点或根节点。
Retrieve Documents (as Tool for AI Agent)#
使用“检索文档(作为 AI 代理的工具)”模式,在回答查询时将向量存储作为工具资源。当智能代理生成回复时,若问题内容与向量存储的名称和描述匹配,则会调用该向量存储。
重排序结果(Rerank Results)#
启用重排序(reranking)功能。启用后,必须连接一个重排序节点到该向量存储节点,该节点会对查询结果进行重新排序。此选项可用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 三种模式。
Get Many 参数#
- Milvus Collection(Milvus 集合):选择或输入要使用的 Milvus 集合。
- Prompt(提示):输入你的搜索查询。
- Limit(限制):设置从向量存储中检索的结果数量。例如,设为
10表示返回最相关的 10 条结果。
插入文档参数#
- Milvus 集合(Milvus Collection) : 选择或输入要使用的 Milvus 集合。
- 清空集合(Clear Collection) : 指定在插入新文档之前是否清空集合。
检索文档(作为链/工具的向量存储)参数#
- Milvus 集合(Milvus collection) : 选择或输入要使用的 Milvus 集合。
检索文档(作为 AI Agent 的工具)参数#
- 名称(Name) : 向量存储的名称。
- 描述(Description) : 向大语言模型(LLM)解释此工具的功能。清晰且具体的描述有助于 LLM 更频繁地生成符合预期的结果。
- Milvus 集合(Milvus Collection) : 选择或输入要使用的 Milvus 集合。
- 限制(Limit) : 输入从向量存储中检索的结果数量。例如,设置为
10可获取最相关的十个结果。
节点选项#
元数据过滤器#
在 获取多个(Get Many) 模式下可用。在搜索数据时,使用此选项匹配与文档关联的元数据。
这是一个 AND 查询:如果指定了多个元数据过滤字段,则所有条件都必须匹配。
在插入数据时,元数据通过文档加载器(document loader)设置。有关加载文档的更多信息,请参考 默认数据加载器。
清空集合#
在 插入文档(Insert Documents) 模式下可用。在插入新数据之前,删除集合中的所有现有数据。
相关资源#
更多服务信息,请参考 LangChain 的 Milvus 文档。 查看 n8n 的 高级 AI 文档。