Simple Vector Store 节点#
使用 Simple Vector Store 节点在 n8n 的应用内存中存储和检索 embeddings(嵌入)。 本页包含 Simple Vector Store 节点的参数说明,以及相关资源链接。
子节点中的参数解析行为
当使用表达式处理多个数据项时,子节点(sub-nodes)的行为与其他节点不同。
大多数节点(包括根节点)可以接收任意数量的数据项作为输入,逐个处理这些数据项并输出结果。你可以使用表达式引用输入项,节点会依次为每个输入项解析该表达式。例如,如果有五个 name 值作为输入,表达式 {{ $json.name }} 会依次解析为每一个名字。
而在子节点中,表达式始终解析为第一个数据项。例如,同样有五个 name 值输入时,表达式 {{ $json.name }} 始终指向第一个名字。
此节点与 AI 记忆节点不同 此处描述的简单向量存储(Simple Vector Store)不同于 AI 记忆类节点,如 Simple Memory(简单记忆)。 本节点会在应用内存中创建一个 向量数据库(vector database)。
数据安全限制#
在使用 Simple Vector Store 节点前,了解其局限性和工作原理非常重要。
警告 n8n 建议仅将 Simple Vector Store 用于开发目的。
向量存储数据不具备持久性#
该节点仅将数据保存在内存中。当 n8n 重启时,所有数据都会丢失;在内存不足的情况下,数据也可能被清除。
所有实例用户均可访问向量存储数据#
Simple Vector Store 节点的内存键(memory keys)是全局性的,不局限于单个工作流。
这意味着,无论原始工作流设置了何种访问控制,实例中的所有用户都可以通过添加一个 Simple Vector Store 节点并选择相应的内存键来访问其中的数据。因此,在使用 Simple Vector Store 节点摄入数据时,请务必注意避免暴露敏感信息。
节点使用模式#
你可以在以下几种模式中使用 Simple Vector Store 节点。
作为普通节点插入和检索文档#
你可以将 Simple Vector Store 作为一个普通节点,用于插入或获取文档。这种模式下,Simple Vector Store 直接参与常规的工作流连接,无需借助智能代理(agent)。
你可以在这个模板的第 2 步看到具体示例。
作为工具直接连接到 AI 智能代理#
你可以将 Simple Vector Store 节点直接连接到 AI agent(AI 智能代理) 的 tool(工具)连接器,以便在回答查询时利用向量存储作为资源。
此时的连接方式为:AI agent(tools connector) → Simple Vector Store 节点。
使用检索器(Retriever)获取文档#
你可以将 Vector Store Retriever(向量存储检索器) 节点与 Simple Vector Store 节点结合使用,从后者中提取文档。这种模式通常与 Question and Answer Chain(问答链) 节点配合,用于从向量存储中检索与聊天输入相匹配的文档。
一种连接流程示例(示例中使用的是 Pinecone,但模式相同)如下: Question and Answer Chain(Retriever connector) → Vector Store Retriever(Vector Store connector) → Simple Vector Store。
使用向量存储问答工具(Vector Store Question Answer Tool)回答问题#
另一种模式是使用 Vector Store Question Answer Tool(向量存储问答工具) 来总结结果并回答来自 Simple Vector Store 节点的问题。与直接将 Simple Vector Store 作为工具连接不同,此模式使用专为总结向量存储数据而设计的工具。
在这种情况下的连接流程如下所示: AI agent(tools connector) → Vector Store Question Answer Tool(Vector Store connector) → Simple Vector Store。
内存管理#
Simple Vector Store 实现了内存管理机制,以防止内存使用过度:
- 当内存压力增大时,自动清理旧的向量存储
- 删除在可配置时间段内未被访问的非活跃存储
配置选项#
你可以通过以下环境变量控制内存使用:
| 变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
N8N_VECTOR_STORE_MAX_MEMORY | 数字 | -1 | 所有向量存储(vector stores)总共允许使用的最大内存(MB),设置为 -1 表示不限制。 |
N8N_VECTOR_STORE_TTL_HOURS | 数字 | -1 | 存储在多少小时无活动后被删除,设置为 -1 表示禁用 TTL(生存时间)。 |
在 n8n Cloud 上,这两个值分别预设为 100MB(大约可存储 8,000 个文档,具体数量取决于文档大小和元数据)和 7 天。对于自托管实例,这两个值默认均为 -1(即无内存限制,也不进行基于时间的清理)。
节点参数#
操作模式#
该向量存储(Vector Store)节点支持四种模式:Get Many、Insert Documents、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent)。你选择的模式决定了该节点可执行的操作以及可用的输入和输出。
Get Many#
在此模式下,你可以通过提供一个提示词(prompt)从向量数据库中检索多个文档。该提示词将被嵌入(embedding),并用于相似性搜索。节点会返回与提示词最相似的文档及其相似度得分。当你希望获取一组相似文档并将其作为额外上下文传递给智能体(agent)时,此模式非常有用。
Insert Documents#
使用“插入文档”模式可将新文档插入到你的向量数据库中。
Retrieve Documents (as Vector Store for Chain/Tool)#
使用“Retrieve Documents (As Vector Store for Chain/Tool)”模式时,需配合一个向量存储检索器(retriever),从向量数据库中检索文档,并将结果提供给连接到链(chain)的检索器。在此模式下,你必须将该节点连接到一个检索器节点或根节点。
Retrieve Documents (as Tool for AI Agent)#
使用“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 参数#
- Memory Key:选择或创建包含你要查询的向量内存的键(key)。
- Prompt:输入搜索查询内容。
- Limit:设置从向量存储中检索的结果数量。例如,设置为
10可获取最相关的 10 条结果。
插入文档参数#
- Memory Key(内存键) : 选择或创建你想要用来存储向量内存的键。
- Clear Store(清空存储) : 使用此参数控制是否在插入数据前清除该工作流中指定内存键对应的向量存储(开启时生效)。
检索文档(作为链/工具的向量存储)参数#
- Memory Key(内存键) : 选择或创建包含你要查询的向量内存的键。
检索文档(作为 AI Agent 的工具)参数#
- Name(名称) : 向量存储的名称。
- Description(描述) : 向大语言模型(LLM)说明此工具的功能。一个清晰且具体的描述有助于 LLM 更频繁地生成符合预期的结果。
- Memory Key(内存键) : 选择或创建包含你要查询的向量内存的键。
- Limit(限制) : 输入从向量存储中检索的结果数量。例如,设置为
10可获取最相关的十个结果。
模板与示例#
构建你的第一个 WhatsApp 聊天机器人 作者:Jimleuk 查看模板详情
使用 Google Drive 和 Gemini 构建企业文档的 RAG 聊天机器人 作者:Mihai Farcas 查看模板详情
🤖 基于 AI 的文档 RAG 聊天机器人(集成 Google Drive、Gemini 和 Qdrant) 作者:Joseph LePage 查看模板详情
浏览简易向量存储(Simple Vector Store)集成模板,或 搜索所有模板
相关资源#
更多服务信息,请参考 LangChain 的内存向量存储(Memory Vector Store)文档。 查看 n8n 的 高级 AI(Advanced AI) 文档。