您可以将MongoDB与 Langflow 集成,Langflow 是一个用于构建AI管道和代理的开源可视化框架。 Langflow 提供了一个 MongoDB Atlas 组件,该组件使用MongoDB Vector Search 作为向量存储,因此您可以将MongoDB支持的检索添加到流程中,而无需编写代码。
MongoDB Atlas 组件允许您执行以下操作:
摄取数据:将文档及其嵌入写入您的集合。
相似性搜索:运行相似性搜索并返回匹配的文档。
配置助手工具:为助手提供对MongoDB数据的访问权限。
开始体验
要完成将 Langflow 配置为使用MongoDB 的教程,请参阅开始使用 Langflow 集成。
安装
lfx-bundles包提供可选的第三方集成,包括 MongoDB Atlas 组件。要安装MongoDB依赖项,运行以下命令:
uv pip install "lfx-bundles[mongodb]"
或者,要将每个捆绑提供商与 Langflow 一起安装,运行以下命令:
uv pip install "langflow[bundles]"
重要
Docker镜像
要将 MongoDB Atlas 组件与Docker结合使用,请使用 langflowai/langflow-all 映像而不是默认的langflowai/langflow 映像。 langflow-all 映像包括提供 MongoDB Atlas 组件的 langflow[bundles]。要学习;了解更多信息,请参阅选择 Langflow Docker映像。
使用
要在流程中将MongoDB用作向量存储,请将 MongoDB 类别中的 MongoDB Atlas 组件添加到画布中,然后在组件检查面板中配置其连接和索引参数。
以下标签页描述了在流程中使用该组件的不同方法:
写入文档及其嵌入写入集合,请将数据加载器和 Split Text 组件连接到 Ingest Data 输入:
File or URL loader → Split Text → MongoDB Atlas
要运行相似性搜索并返回匹配文档,请将 Chat Input 或其他文本生成组件连接到 Search Query 输入:
Chat Input → MongoDB Atlas → Chat Output
要允许助手访问权限您的集合,请在 MongoDB Atlas 组件的标题菜单中启用Tool Mode。然后,将其输出连接到 Agent 组件的 Tools 输入:
MongoDB Atlas → Agent (Tools)
如果您使用 MongoDB Atlas 组件查询您的集合,该组件会返回结果,您可以将其作为JSON对象列表或表格结果传递给流程中的其他组件。如果两种格式都可用,则可以在可视化编辑器中靠近组件输出端口的设立格式。
首次运行搜索时,该组件会检查 Index Name 参数中指定的MongoDB Vector Search索引是否存在。如果没有,该组件将从 Index Field、Number of Dimensions、Similarity 和 Quantization 参数创建索引,然后等待 20 秒再继续。由于该等待不能确认索引已完成构建,因此在创建索引后立即运行的查询仍可能返回空结果。
提示
要检查索引是否已完成构建,请在Atlas用户界面中查看其 Status 。
参数
默认下,某些参数在可视化编辑器中处于隐藏状态。您可以通过选择组件时出现的组件检查面板来查看和修改每个参数。
搜索索引
如果匹配的索引尚不存在,则首次运行搜索时,MongoDB Atlas 组件会在您的集合上创建MongoDB Vector Search索引。您也可以手动创建或检查此索引。要学习;了解更多信息,请参阅创建MongoDB Vector Search 索引。
索引使用以下定义,其中 path字段指定 Index Field 值,numDimensions字段指定 Number of Dimensions 值,similarity字段指定 Similarity 值:
{ "fields": [ { "numDimensions": 1536, "path": "embedding", "quantization": "scalar", "similarity": "cosine", "type": "vector" } ] }
如果设立Filter Field 值,该组件会将该路径的 filter 类型字段添加到索引定义中。
重要
必需值
在运行搜索之前,请为“量化”选择一个值。如果将该字段保持未设置状态,索引创建将失败,因为该组件会将 quantization字段设置为 null,而不是忽略该字段。
如果嵌入模型生成的维数与默认1536 不同,请确保相应地设立“维数”参数。
其他资源
要学习;了解有关将 Langflow 与MongoDB结合使用的更多信息,请参阅以下资源:
Langflow GitHub存储库