MongoDB Atlas 向量存储节点
MongoDB Atlas 向量搜索是 MongoDB Atlas 的一项功能,允许用户存储和查询向量嵌入。使用此节点可以与 MongoDB Atlas 集合中的向量搜索索引进行交互。您可以插入文档、检索文档,并将向量存储用于链中或作为代理工具。
在此页面上,您将找到 MongoDB Atlas Vector Store 节点的节点参数以及更多资源的链接。
子节点中的参数解析
当使用表达式处理多个项目时,子节点的行为与其他节点不同。
大多数节点(包括根节点)都会接受任意数量的项作为输入,处理这些项并输出结果。您可以使用表达式来引用输入项,节点会依次解析每个项的表达式。例如,给定一个包含五个值的输入,表达式会依次解析每个名称。
在子节点中,表达式始终解析为第一项。例如,给定五个值的输入,表达式始终解析为名字。
先决条件
在使用此节点之前,请在 MongoDB Atlas 集合中创建一个
向量搜索索引。请按照以下步骤创建:-
登录
MongoDB Atlas 仪表板。 -
选择您的组织和项目。
- 找到“搜索和矢量搜索”部分。
- 选择您的集群并单击“开始搜索”。
- 单击“创建搜索索引”。
-
选择“向量搜索”模式并使用可视化编辑器或 JSON 编辑器。例如:
1 2 3 4 5 6 7 8 9 10
{ "fields": [ { "type": "vector", "path": "<field-name>", "numDimensions": 1536, // any other value "similarity": "<similarity-function>" } ] } -
根据您的嵌入模型调整“尺寸”值(例如,对于 OpenAI 的)。
- 命名您的索引并创建。
确保记下配置节点时所需的以下值:
- 集合名称
- 向量索引名称
- 嵌入和元数据的字段名称
节点使用模式
您可以按照以下模式使用 MongoDB Atlas Vector Store 节点:
用作常规节点来插入和检索文档
您可以将 MongoDB Atlas 向量存储用作常规节点来插入或获取文档。此模式将 MongoDB Atlas 向量存储置于常规连接流中,无需使用代理。
您可以在
此模板的场景 1 中看到此示例(该模板使用 Supabase Vector Store,但模式相同)。直接连接到 AI 代理作为工具
您可以将 MongoDB Atlas Vector Store 节点直接连接到
AI 代理的工具连接器,以便在回答查询时使用向量存储作为资源。这里的连接将是:AI 代理(工具连接器)-> MongoDB Atlas Vector Store 节点。
使用检索器获取文档
您可以将
向量存储检索器节点与 MongoDB Atlas 向量存储节点配合使用,从 MongoDB Atlas 向量存储节点获取文档。这通常与问答链节点配合使用,从向量存储中获取与给定聊天输入匹配的文档。 连接流的一个示例(链接的示例使用 Pinecone,但模式相同)为:问答链(检索器连接器)-> 向量存储检索器(向量存储连接器)-> MongoDB Atlas 向量存储。使用 Vector Store 问答工具来回答问题
另一种模式使用
向量存储问答工具来汇总结果并回答来自 MongoDB Atlas 向量存储节点的问题。该模式并非直接将 MongoDB Atlas 向量存储作为工具连接,而是使用专门设计用于汇总向量存储中数据的工具。在这种情况下,连接
流(链接的示例使用内存向量存储,但模式相同)将如下所示:AI 代理(工具连接器)-> 向量存储问答工具(向量存储连接器)-> 内存向量存储。节点参数
操作模式
此向量存储节点有四种模式:
获取多个、插入文档、检索文档(作为链/工具的向量存储)和检索文档(作为 AI 代理的工具) 。您选择的模式决定了您可以使用该节点执行的操作以及可用的输入和输出。获取多个
在此模式下,您可以通过提供提示从向量数据库中检索多个文档。提示将被嵌入并用于相似性搜索。节点将返回与提示最相似的文档及其相似度得分。如果您想检索相似文档列表并将其作为附加上下文传递给代理,这将非常有用。
插入文档
使用插入文档模式将新文档插入矢量数据库。
检索文档(作为链/工具的向量存储)
使用“检索文档(作为链/工具的向量存储)”模式和向量存储检索器,从向量数据库中检索文档,并将其提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。
检索文档(作为AI代理的工具)
使用“检索文档(作为 AI 代理工具)”模式,在回答查询时将向量存储用作工具资源。在制定响应时,当向量存储名称和描述与问题详情匹配时,代理会使用向量存储。
重新排序结果
启用
重新排序。如果启用此选项,则必须将重新排序节点连接到向量存储。该节点随后将对查询结果进行重新排序。您可以将此选项与、和模式一起使用。获取多个参数
- Mongo 集合:输入要使用的 MongoDB 集合的名称。
- 向量索引名称:输入 MongoDB Atlas 集合中的向量搜索索引的名称。
- 嵌入字段:输入文档中包含向量嵌入的字段名称。
- 元数据字段:输入文档中包含文本元数据的字段名称。
插入文档参数
- Mongo 集合:输入要使用的 MongoDB 集合的名称。
- 向量索引名称:输入 MongoDB Atlas 集合中的向量搜索索引的名称。
- 嵌入字段:输入文档中包含向量嵌入的字段名称。
- 元数据字段:输入文档中包含文本元数据的字段名称。
检索文档参数(作为链/工具的矢量存储)
- Mongo 集合:输入要使用的 MongoDB 集合的名称。
- 向量索引名称:输入 MongoDB Atlas 集合中的向量搜索索引的名称。
- 嵌入字段:输入文档中包含向量嵌入的字段名称。
- 元数据字段:输入文档中包含文本元数据的字段名称。
检索文档(作为 AI 代理工具)参数
- 名称:矢量存储的名称。
- 描述:向法学硕士 (LLM) 解释此工具的功能。清晰、具体的描述能够帮助法学硕士 (LLM) 更频繁地获得预期结果。
- Mongo 集合:输入要使用的 MongoDB 集合的名称。
- 向量索引名称:输入 MongoDB Atlas 集合中的向量搜索索引的名称。
- 限制:输入从向量存储中检索的结果数量。例如,将其设置为以获取十个最佳结果。
节点选项
选项
- 元数据过滤器:根据元数据过滤结果。
模板和示例
没有任何
相关资源
参考:
- 有关该服务的更多信息,请参阅LangChain 的 MongoDB Atlas Vector Search 文档。
- MongoDB Atlas Vector Search 文档,了解有关 MongoDB Atlas Vector Search 的更多信息。
查看 n8n 的
高级 AI文档。自托管 AI 入门套件
首次接触 AI 领域并使用自托管 n8n?不妨试用 n8n
自托管 AI 入门套件,使用 Ollama、Qdrant 和 PostgreSQL 进行概念验证或演示。