您可以将MongoDB与 Langflow 集成,以通过可视化界面将MongoDB支持的检索添加到您的AI代理中。本教程构建了一个流程,用于配置代理以使用MongoDB。在本教程中,您将执行以下任务:
将MongoDB配置为向量存储,并将MongoDB博文摄取到其中。
构建一个使用MongoDB集合作为检索工具的代理。
运行流程并提出有关博文内容的问题。
背景
Langflow 是一个用于构建AI管道和代理的开源视觉框架。您无需编写代码,而是通过在画布上拖动和连接组件构建流程。每个组件都执行一项离散任务,例如分割文本或查询语言模型。
Langflow 提供了一个 MongoDB Atlas 组件,该组件使用MongoDB Vector Search 作为向量存储。您可以将此组件连接到流程中的其他组件以提取数据、运行相似性搜索或为代理提供查询集合的工具。如果匹配的索引尚不存在,该组件会在您首次运行搜索时在您的集合上创建MongoDB Vector Search索引。
关于流程
在本教程中,您构建以下流程:
URL → Split Text → ┐ ├── MongoDB Atlas → ┐ Embeddings → ┘ ├── Agent → Chat Output Chat Input → ┘
该流程执行以下任务:
URL 组件获取MongoDB博文的内容,其中描述了MongoDB 9.0发布。
Split Text 组件将该内容拆分为多个数据段。
MongoDB Atlas 组件会嵌入每个数据块并将其写入您的集合。
当您发送与MongoDB 9.0博文相关的消息时,Agent 组件会调用 MongoDB Atlas 组件作为工具,在您的集合中搜索相关数据段。
该代理使用任何检索到的数据段生成响应,由 Chat Output 组件返回该响应。
先决条件
要完成本教程,您必须具备以下资源:
您的计算机上已安装 Langflow。要学习;了解更多信息,请参阅 Langflow 文档中的安装 Langflow。
以下MongoDB 集群类型之一:
使用 Python 和 Docker 创建的本地 Atlas 部署。安装
atlas-local-lib-py(pip install atlas-local-lib-py),以编程方式创建和管理本地部署。要了解更多信息,请参阅 atlas-local-lib-py 存储库。A MongoDB Community cluster with Search and Vector Search installed.
Considerations
使用 Langflow 和MongoDB时,请考虑以下事项:
Embedding 组件是必需的,您必须将其连接到 MongoDB Atlas 组件的 Embedding 输入。如果不连接组件,则流程在尝试嵌入文档或查询时会失败。要学习;了解更多信息,请参阅将MongoDB与 Langflow 集成。
在MongoDB中存储数据
在本部分中,您将创建一个流程,将博文数据添加到MongoDB集合并为该数据编制索引以进行向量搜索。
安装MongoDB Atlas组件。
提示
在Python版本中,MongoDB Atlas 组件默认不可用。要安装此组件,运行以下命令:
uv pip install "lfx-bundles[mongodb]"
如果使用Docker运行Langflow,请使用 langflowai/langflow-all 映像而不是 langflowai/langflow。要学习;了解更多信息,请参阅将MongoDB与 Langflow 集成。
添加MongoDB Atlas组件。
将 MongoDB Atlas 组件从 MongoDB 类别添加到画布,并将 Split Text 组件的 Chunks 输出连接到 MongoDB Atlas 组件的 Ingest Data 输入。
在 MongoDB Atlas 组件上配置以下参数:
Parameter | 值 |
|---|---|
MongoDB Atlas Cluster URI | |
Database Name | 您的数据库名称,例如 |
Collection Name | 您的集合名称,例如 |
Index Name | 您的索引名称,例如 |
Quantization | 索引用于存储向量值的数据类型,可以是 |
提示
要配置量化参数,请单击MongoDB Atlas组件上方的“参数”按钮。然后,选择“量化”列表项旁边的“添加”按钮。
构建摄取路径。
选择 MongoDB Atlas 组件,然后单击播放图标以构建URL → Split Text → MongoDB Atlas 路径。这会嵌入页面内容,将内容写入集合,并创建MongoDB Vector Search索引(如果不存在)。
The index should take about one minute to build. While it builds, the index is in an initial sync state. When it finishes building, you can start querying the data in your collection.
构建代理
在本部分中,您将添加一个代理,该代理使用MongoDB集合作为工具来回答有关您提取的页面的问题。
后续步骤
要学习;了解有关 MongoDB Atlas 组件的参数及其创建的MongoDB Vector Search索引的更多信息,请参阅将MongoDB与 Langflow 集成。
