简易向量存储节点#
使用简易向量存储节点可在 n8n 应用内存中存储和检索嵌入向量。
本页将介绍简易向量存储节点的参数配置,并提供更多资源链接。
/// 注意 | 子节点中的参数解析 子节点在使用表达式处理多个项目时的行为与其他节点不同。
大多数节点(包括根节点)会接收任意数量的输入项,处理这些项目,然后输出结果。您可以使用表达式来引用输入项,节点会依次为每个项目解析表达式。例如,给定五个 name
值作为输入,表达式 {{ $json.name }}
会依次解析为每个名称。
而在子节点中,表达式总是解析为第一个项目。例如,给定五个 name
值作为输入,表达式 {{ $json.name }}
总是解析为第一个名称。
///
数据安全限制#
在使用简易向量存储节点前,请务必了解其限制和工作原理。
Warning
n8n 建议仅将简易向量存储用于开发用途。
向量存储数据不具备持久性#
该节点仅将数据存储在内存中。当 n8n 重启时所有数据都会丢失,在内存不足时数据也可能被清除。
所有实例用户均可访问向量存储数据#
简易向量存储节点的内存键是全局性的,不局限于单个工作流。
这意味着无论原始工作流设置了何种访问控制,实例的所有用户都可以通过添加简易向量存储节点并选择内存键来访问向量存储数据。在使用简易向量存储节点摄取数据时,请注意不要暴露敏感信息。
节点使用模式#
您可以通过以下方式使用简易向量存储节点。
作为常规节点插入和检索文档#
您可以将简易向量存储作为常规节点来插入或获取文档。这种模式将简易向量存储置于常规连接流中,不使用代理。
您可以在此模板的第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 来汇总结果并回答来自 Simple Vector Store 节点的问题。这种模式不是直接将 Simple Vector Store 作为工具连接,而是使用专门设计的工具来汇总向量存储中的数据。
此情况下的连接流程如下所示:AI 代理(工具连接器)-> Vector Store Question Answer Tool(向量存储连接器)-> Simple Vector store。
内存管理#
Simple Vector Store 实现了内存管理机制以防止内存使用过量:
- 当内存压力增加时自动清理旧的向量存储
- 移除在可配置时间内未被访问的非活跃存储
配置选项#
您可以通过以下环境变量控制内存使用:
变量名 | 类型 | 默认值 | 描述 |
---|---|---|---|
N8N_VECTOR_STORE_MAX_MEMORY |
数值 | -1 | 所有向量存储允许的最大内存(MB)(-1表示禁用限制)。 |
N8N_VECTOR_STORE_TTL_HOURS |
数值 | -1 | 存储被移除前的非活跃小时数(-1表示禁用TTL)。 |
在 n8n Cloud 上,这些值预设为 100MB(约8,000个文档,具体取决于文档大小和元数据)和7天。对于自托管实例,两个值默认为-1(无内存限制或基于时间的清理)。
节点参数#
操作模式#
该 Vector Store 节点提供四种操作模式:获取多个文档、插入文档、检索文档(作为链/工具的向量存储)和检索文档(作为 AI 代理的工具)。您选择的模式决定了节点可执行的操作以及可用的输入输出选项。
获取多个文档#
在此模式下,您可以通过提供提示词从向量数据库中检索多个文档。提示词将被嵌入并用于相似性搜索。节点将返回与提示词最相似的文档及其相似度分数。当您需要检索相似文档列表并将其作为额外上下文传递给代理时,此模式非常有用。
插入文档#
使用插入文档模式可将新文档存入您的向量数据库。
检索文档(作为链/工具的向量存储)#
将检索文档(作为链/工具的向量存储)模式与向量存储检索器配合使用,可从向量数据库检索文档并将其提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。
检索文档(作为 AI 代理的工具)#
使用检索文档(作为 AI 代理的工具)模式可在回答查询时将向量存储作为工具资源使用。当向量存储名称和描述与问题细节匹配时,代理在构建响应时会使用该向量存储。
Get Many 参数#
- 内存键名:选择或创建包含要查询的向量内存的键。
- 提示词:输入搜索查询。
- 限制数量:输入要从向量存储中检索的结果数量。例如,设置为
10
可获取十个最佳结果。
插入文档参数#
- 内存键名:选择或创建要存储向量内存的键。
- 清除存储:使用此参数控制在插入数据前是否清除此工作流给定内存键的向量存储(默认开启)。
检索文档(作为链/工具的向量存储)参数#
- Memory Key(内存键): 选择或创建包含您要查询的向量内存的键。
检索文档(作为AI代理的工具)参数#
- Name(名称): 向量存储的名称。
- Description(描述): 向LLM解释此工具的功能。一个具体清晰的描述能让LLM更频繁地产生预期结果。
- Memory Key(内存键): 选择或创建包含您要查询的向量内存的键。
- Limit(限制): 输入要从向量存储中检索的结果数量。例如,设置为
10
可获取十个最佳结果。
模板和示例#
相关资源#
更多关于该服务的信息,请参考 LangChain 内存向量存储文档。
查看 n8n 的高级 AI 文档。
AI glossary#
- completion: Completions are the responses generated by a model like GPT.
- hallucinations: Hallucination in AI is when an LLM (large language model) mistakenly perceives patterns or objects that don't exist.
- vector database: A vector database stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.
- vector store: A vector store, or vector database, stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.