跳到主要内容

Simple Vector Store(简单向量存储)

使用 Simple Vector Store 节点,在 n8n 应用内存中存储和检索嵌入向量1。

本页列出了 Simple Vector Store 节点的参数,并提供更多资源的链接。

信息

子节点中的参数解析

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

多数节点,包括根节点,可以接收任意数量的输入数据项,处理后输出结果。你可以用表达式引用输入数据项,节点会依次对每个数据项解析表达式。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 会依次解析为每个名称。

在子节点中,表达式始终解析为第一个数据项。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 始终解析为第一个名称。

信息

此节点与 AI 记忆节点不同

此处描述的简单向量存储与 Simple Memory 等 AI 记忆节点不同。

此节点在应用内存中创建向量数据库2。

数据安全限制 ​

使用 Simple Vector Store 节点前,需要了解其限制及工作方式。

注意

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 智能体的工具3连接器,让智能体在回答查询时将向量存储用作资源。

此时连接方式为:AI Agent(工具连接器)→ Simple Vector Store 节点。

使用检索器获取文档 ​

可将 Vector Store Retriever 节点与 Simple Vector Store 节点配合使用,从 Simple Vector Store 节点获取文档。这通常与 Question and Answer Chain 节点配合,从向量存储获取与给定聊天输入匹配的文档。

连接流程示例如下(链接示例使用 Pinecone,但模式相同):Question and Answer Chain(Retriever 连接器)→ Vector Store Retriever(Vector Store 连接器)→ Simple Vector Store。

使用 Vector Store Question Answer Tool 回答问题 ​

另一种模式使用 Vector Store Question Answer Tool,汇总 Simple Vector Store 节点的结果并回答问题。此模式通过专门用于汇总向量存储数据的工具工作,无需将 Simple Vector Store 直接作为工具连接。

此时的连接流程为:AI Agent(工具连接器)→ Vector Store Question Answer Tool(Vector Store 连接器)→ 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(不限制内存,也不按时间清理)。

节点参数 ​

此向量存储节点有四种模式:Get Many(获取多条)、Insert Documents(插入文档)、Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)及 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具)。所选模式决定可执行的操作,以及可用的输入和输出。

Rerank Results(结果重排序) ​

启用重排序。开启此选项后,必须将 Reranker Cohere(Cohere 重排序器)等重排序节点连接到向量存储,由其重新排列查询结果。此选项可用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 模式。

Get Many(获取多条)参数 ​

  • Memory Key(记忆键):选择或创建包含要查询的向量记忆的键。
  • Prompt(提示词):输入搜索查询。
  • Limit(上限):输入从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

Insert Documents(插入文档)参数 ​

  • Memory Key(记忆键):选择或创建用于存储向量记忆的键。
  • Clear Store(清空存储):开启时,在插入数据之前,清除此工作流给定记忆键对应的向量存储。

Retrieve Documents(作为链或工具的向量存储)参数 ​

  • Memory Key(记忆键):选择或创建包含要查询的向量记忆的键。

Retrieve Documents(作为 AI 智能体的工具)参数 ​

  • Name(名称):向量存储的名称。
  • Description(描述):向 LLM 说明此工具的用途。清晰、具体的描述有助于 LLM 更经常地生成预期结果。
  • Memory Key(记忆键):选择或创建包含要查询的向量记忆的键。
  • Limit(上限):输入从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

模板与示例 ​

浏览 Simple Vector Store(简单向量存储) 集成模板,或搜索所有模板

相关资源 ​

该服务的更多信息,请参阅 LangChain Memory Vector Store 文档。

查看 n8n 的高级 AI 文档。

Footnotes​

  1. 嵌入是使用向量对数据进行数值化表示。AI 通过将值映射到多个维度,利用嵌入理解复杂数据及其关系。向量数据库或向量存储是专门用于存储和访问嵌入的数据库。 ↩

  2. 向量存储或向量数据库用于存储信息的数学表示。将其与嵌入模型和检索器配合使用,可创建供 AI 在回答问题时访问的数据库。 ↩

  3. 在 AI 场景中,工具是附加资源,AI 可在响应请求时调用它获取特定信息或功能。AI 模型可以通过工具与外部系统交互,或完成具体、专门的任务。 ↩

本文为社区中文翻译。查看对应英文原文