跳到主要内容

MongoDB Atlas Vector Store(MongoDB Atlas 向量存储)

MongoDB Atlas Vector Search 是 MongoDB Atlas 的一项功能,可存储和查询嵌入向量。使用此节点,与 MongoDB Atlas 集合中的 Vector Search 索引交互。可插入和检索文档,在链中使用向量存储,或将其用作智能体的工具。

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

信息

凭据

此节点的身份验证信息,请参阅 MongoDB 凭据文档。

信息

子节点中的参数解析

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

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

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

前置条件 ​

使用此节点前,请先在 MongoDB Atlas 集合中创建 Vector Search 索引。创建步骤如下:

  1. 登录 MongoDB Atlas 控制台。

  2. 选择组织和项目。

  3. 找到“Search & Vector Search”(搜索与向量搜索)部分。

  4. 选择集群,点击“Go to search”(前往搜索)。

  5. 点击“Create Search Index”(创建搜索索引)。

  6. 选择“Vector Search”(向量搜索)模式,使用可视化编辑器或 JSON 编辑器。例如:

    {
    "fields": [
    {
    "type": "vector",
    "path": "<field-name>",
    "numDimensions": 1536, // any other value
    "similarity": "<similarity-function>"
    }
    ]
    }
  7. 根据嵌入模型调整“dimensions”(维度)值(例如,1536 适用于 OpenAI 的 text-embedding-small-3)。

  8. 为索引命名并创建。

请记下以下值,配置节点时需要使用:

  • 集合名称
  • 向量索引名称
  • 嵌入和元数据的字段名称

节点使用模式 ​

可按以下方式使用 MongoDB Atlas Vector Store 节点:

作为普通节点插入和检索文档 ​

可将 MongoDB Atlas Vector Store 用作普通节点,插入或获取文档。此模式将 MongoDB Atlas Vector Store 放在常规连接流程中,无需使用智能体。

示例请参阅此模板的场景 1(该模板使用 Supabase Vector Store,但模式相同)。

作为工具直接连接到 AI 智能体 ​

可将 MongoDB Atlas Vector Store 节点直接连接到 AI 智能体的工具连接器,让智能体在回答查询时将向量存储用作资源。

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

使用检索器获取文档 ​

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

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

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

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

此时的连接流程如下(链接示例使用 In-Memory Vector Store,但模式相同):AI Agent(工具连接器)→ Vector Store Question Answer Tool(Vector Store 连接器)→ In-Memory Vector Store。

节点参数 ​

此向量存储节点有四种模式: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(获取多条)参数 ​

  • Mongo Collection(Mongo 集合):输入要使用的 MongoDB 集合名称。
  • Vector Index Name(向量索引名称):输入 MongoDB Atlas 集合中 Vector Search 索引的名称。
  • Embedding Field(嵌入字段):输入文档中包含嵌入向量的字段名称。
  • Metadata Field(元数据字段):输入文档中包含文本元数据的字段名称。

Insert Documents(插入文档)参数 ​

  • Mongo Collection(Mongo 集合):输入要使用的 MongoDB 集合名称。
  • Vector Index Name(向量索引名称):输入 MongoDB Atlas 集合中 Vector Search 索引的名称。
  • Embedding Field(嵌入字段):输入文档中包含嵌入向量的字段名称。
  • Metadata Field(元数据字段):输入文档中包含文本元数据的字段名称。

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

  • Mongo Collection(Mongo 集合):输入要使用的 MongoDB 集合名称。
  • Vector Index Name(向量索引名称):输入 MongoDB Atlas 集合中 Vector Search 索引的名称。
  • Embedding Field(嵌入字段):输入文档中包含嵌入向量的字段名称。
  • Metadata Field(元数据字段):输入文档中包含文本元数据的字段名称。

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

  • Name(名称):向量存储的名称。
  • Description(描述):向 LLM 说明此工具的用途。清晰、具体的描述有助于 LLM 更经常地生成预期结果。
  • Mongo Collection(Mongo 集合):输入要使用的 MongoDB 集合名称。
  • Vector Index Name(向量索引名称):输入 MongoDB Atlas 集合中 Vector Search 索引的名称。
  • Limit(上限):输入从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

节点选项 ​

Options(选项) ​

  • Metadata Filter(元数据过滤器):根据元数据过滤结果。

模板与示例 ​

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

相关资源 ​

请参阅:

查看 n8n 的高级 AI 文档。

自行托管 AI 入门套件 ​

刚开始使用 AI 和自行托管的 n8n?可试用 n8n 的自行托管 AI 入门套件,通过 Ollama、Qdrant 和 PostgreSQL 搭建概念验证或演示环境。

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