Simple Vector Store 节点#
使用 Simple Vector Store 节点在 n8n 的应用内存中存储和检索 嵌入。
在此页面上,您将找到 Simple Vector Store 节点的节点参数和更多资源的链接。
子节点中的参数解析
子节点在使用表达式处理多个项目时的行为与其他节点不同。
大多数节点,包括根节点,接受任意数量的项目作为输入,处理这些项目,并输出结果。您可以使用表达式引用输入项目,节点会依次为每个项目解析表达式。例如,给定五个 name
值的输入,表达式 {{ $json.name }}
会依次解析为每个名称。
在子节点中,表达式始终解析为第一个项目。例如,给定五个 name
值的输入,表达式 {{ $json.name }}
始终解析为第一个名称。
数据安全限制#
在使用 Simple Vector Store 节点之前,了解其限制和工作原理很重要。
Warning
n8n 建议仅将 Simple Vector store 用于开发用途。
向量存储数据不是持久的#
此节点仅将数据存储在内存中。当 n8n 重新启动时,所有数据都会丢失,在低内存条件下也可能被清除。
所有实例用户都可以访问向量存储数据#
Simple Vector Store 节点的内存键是全局的,不限定于单个工作流程。
这意味着实例的所有用户都可以通过添加 Simple Vector Store 节点并选择内存键来访问向量存储数据,无论为原始工作流程设置的访问控制如何。使用 Simple Vector Store 节点摄取数据时,注意不要暴露敏感信息。
节点使用模式#
您可以在以下模式中使用 Simple Vector Store 节点。
用作常规节点插入和检索文档#
您可以将 Simple Vector Store 用作常规节点来插入或获取文档。此模式将 Simple Vector Store 放置在常规连接流中,而不使用代理。
您可以在此模板的步骤 2 中看到一个示例。
直接连接到 AI 代理作为工具#
您可以将 Simple Vector Store 节点直接连接到 AI 代理 的 工具 连接器,以在回答查询时使用向量存储作为资源。
这里的连接是:AI 代理(工具连接器)-> Simple Vector Store 节点。
使用检索器获取文档#
您可以将 Vector Store Retriever 节点与 Simple Vector Store 节点一起使用,从 Simple Vector Store 节点获取文档。这通常与 Question and Answer Chain 节点一起使用,从与给定聊天输入匹配的向量存储中获取文档。
连接流的示例(链接的示例使用 Pinecone,但模式相同)是:Question and Answer Chain(检索器连接器)-> Vector Store Retriever(向量存储连接器)-> Simple Vector Store。
使用 Vector Store Question Answer Tool 回答问题#
另一种模式使用 Vector Store Question Answer Tool 来总结结果并从 Simple Vector Store 节点回答问题。这种模式不是将 Simple Vector Store 直接连接为工具,而是使用专门设计用于总结向量存储中数据的工具。
在这种情况下,连接流看起来像这样:AI 代理(工具连接器)-> Vector Store Question Answer Tool(向量存储连接器)-> Simple Vector store。
内存管理#
Simple Vector Store 实现内存管理以防止过度内存使用:
- 当内存压力增加时自动清理旧的向量存储
- 删除在可配置时间内未被访问的非活跃存储
配置选项#
您可以使用这些环境变量控制内存使用:
变量 | 类型 | 默认值 | 描述 |
---|---|---|---|
N8N_VECTOR_STORE_MAX_MEMORY |
Number | -1 | 所有向量存储组合允许的最大内存(MB)(-1 禁用限制)。 |
N8N_VECTOR_STORE_TTL_HOURS |
Number | -1 | 非活跃后删除存储的小时数(-1 禁用 TTL)。 |
在 n8n Cloud 上,这些值分别预设为 100MB(大约 8,000 个文档,取决于文档大小和元数据)和 7 天。对于自托管实例,两个值默认为 -1(无内存限制或基于时间的清理)。
节点参数#
操作模式#
此向量存储节点有四种模式:获取多个、插入文档、检索文档(作为链/工具的向量存储)和检索文档(作为 AI 代理的工具)。您选择的模式决定了您可以使用节点执行的操作以及可用的输入和输出。
Get Many 获取多个#
在此模式下,您可以通过提供提示从向量数据库中检索多个文档。提示会被嵌入并用于相似性搜索。节点返回与提示最相似的文档及其相似性分数。如果您想检索相似文档列表并将其作为附加上下文传递给代理,这很有用。
Insert Documents 插入文档#
使用插入文档模式将新文档插入到您的向量数据库中。
Retrieve Documents (as Vector Store for Chain/Tool) 检索文档(作为链/工具的向量存储)#
使用检索文档(作为链/工具的向量存储)模式与向量存储检索器一起从向量数据库检索文档并将其提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。
Retrieve Documents (as Tool for AI Agent) 检索文档(作为 AI 代理的工具)#
使用检索文档(作为 AI 代理的工具)模式在回答查询时将向量存储用作工具资源。在制定响应时,当向量存储名称和描述与问题详情匹配时,代理会使用向量存储。
重新排序结果#
启用重新排序。如果启用此选项,您必须将重新排序节点连接到向量存储。然后该节点将为查询重新排序结果。您可以在 获取多个
、检索文档(作为链/工具的向量存储)
和检索文档(作为 AI 代理的工具)
模式下使用此选项。
Get Many 获取多个参数#
- Memory Key 内存键:选择或创建包含您要查询的向量内存的键。
- Prompt 提示:输入搜索查询。
- Limit 限制:输入要从向量存储中检索多少结果。例如,将此设置为
10
以获得十个最佳结果。
Insert Documents 插入文档参数#
- Memory Key 内存键:选择或创建您要将向量内存存储为的键。
- Clear Store 清除存储:使用此参数控制是否在插入数据之前为此工作流程的给定内存键擦除向量存储(打开)。
Retrieve Documents (As Vector Store for Chain/Tool) 检索文档(作为链/工具的向量存储)参数#
- Memory Key 内存键:选择或创建包含您要查询的向量内存的键。
Retrieve Documents (As Tool for AI Agent) 检索文档(作为 AI 代理的工具)参数#
- Name 名称:向量存储的名称。
- Description 描述:向 LLM 解释此工具的作用。良好、具体的描述允许 LLM 更频繁地产生预期结果。
- Memory Key 内存键:选择或创建包含您要查询的向量内存的键。
- Limit 限制:输入要从向量存储中检索多少结果。例如,将此设置为
10
以获得十个最佳结果。
模板和示例#
相关资源#
请参考 LangChains 的 Memory Vector Store 文档 获取有关该服务的更多信息。
查看 n8n 的高级 AI文档。
AI 术语表#
- completion(完成/补全): 完成是由 GPT 等模型生成的响应。
- hallucinations(幻觉): AI 中的幻觉是指大语言模型(LLM)错误地感知到不存在的模式或对象。
- vector database(向量数据库): 向量数据库存储信息的数学表示。与嵌入和检索器一起使用,创建 AI 在回答问题时可以访问的数据库。
- vector store(向量存储): 向量存储或向量数据库,存储信息的数学表示。与嵌入和检索器一起使用,创建 AI 在回答问题时可以访问的数据库。