对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

使用MongoDB和 n8n 构建AI助手

本教程演示如何使用 n8n 快速构建AI代理,以回答有关某些示例数据的问题。该代理利用MongoDB作为用于文档检索的向量存储和用于会话持久性的聊天内存存储。

以下屏幕截图演示了您将在本教程中构建的工作流程。在此工作流中,您将创建一个使用两个MongoDB节点的AI代理:

它还使用 OpenAI 作为 LLM 和嵌入模型提供商。

当您向代理发送消息时,会触发以下操作:

  1. AI代理节点处理用户消息并确定下一步动作。

  2. AI代理检查是否需要调用任何工具。

    • 如果是,则调用MongoDB Vector Store节点来检索文档。

    • 如果没有,则继续执行下一个动作。

  3. 代理使用您为工作流程配置的 LLM 生成响应。

  4. 每次交互后, MongoDB聊天内存节点都会存储对话历史记录。

使用 n8n 和MongoDB 的AI代理工作流程的屏幕截图
点击放大

注意

AI助手节点配置中的红色星号表示所需参数。

在开始之前,请确保您具备以下内容:

  • 以下MongoDB 集群类型之一:

    • 运行 MongoDB 6.0.11 版本的 Atlas 集群,7.0.2或以上版本。确保您的 IP 地址 包含在 Atlas 项目的 访问列表 中。

    • 使用 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.

  • 示例数据已加载到MongoDB 部署中。

  • OpenAI API密钥,或您打算使用的任何其他受支持的 LLM 和嵌入模型提供商的API密钥。

使用 n8n 和MongoDB时,请考虑以下事项:

  • 对于MongoDB Atlas用户,请确保将您的 n8n 个IP地址添加到项目的IP访问列表中。要学习;了解更多信息,请参阅网络访问。

  • 配置MongoDB Vector Store节点时,请确保将 Include Metadata 切换为 Off。如果您不将此设置切换为 Off,则AI代理可能不会运行,因为文档可能太大而无法加载到上下文窗口中。

You must create a vector search index on your collection before you can use the MongoDB vector store node.

To use a different index creation method, follow the steps in the index creation procedure. Use the following configuration:

{
"fields": [
{
"type": "vector",
"path": "plot_embedding",
"numDimensions": 1536,
"similarity": "dotProduct"
}
]
}

在本部分中,您将完成 n8n 中配置所需凭证的步骤。

1

在 n 主页右上角,右键单击 Create Workflow。8或者,选择 Credentials标签页并单击 Add first credential。

2
  1. 从下拉菜单中,选择要配置的凭证。

    示例,选择 OpenAI 并单击 Continue。

  2. 要查看为模型提供商输入哪些参数,请检查凭证库。

    示例,对于 OpenAI,输入API密钥、组织名称和基本URL。

  3. 单击 Save。n8n 将档案添加到您的个人空间。

3

按照上一步所述相同说明将MongoDB凭证添加到 n8n。指定以下值:

设置
值

配置类型

在下拉菜单中,选择 Connection String 方法。

连接字符串

输入您的MongoDB Connection String。

To learn how to find your MongoDB connection string, see Connection Strings.

Database

输入 sample_mflix。

Complete the following steps in n8n to build an AI agent workflow with MongoDB and n8n. To learn more about the workflow, see About the n8n Workflow with MongoDB.

1

在托管位置打开8,然后创建一个新的工作流程:

  • 如果您没有工作流程或第一次使用 n8n,请使用显示的空工作流程。

  • 如果已有工作流程,请单击 Create Workflow。

2

n8n 中的所有工作流均以触发节点开始。 对于此工作流程,您可以使用聊天触发节点,以便用户消息触发AI代理工作流程。

  1. 选择 Add first step 或按 Tab 打开节点菜单。

  2. 搜索 Chat Trigger。n8n 显示与搜索匹配的节点列表。

  3. 选择 Chat Trigger 以将节点添加到画布。

  4. 点击屏幕左上角的 Back to canvas。在此阶段,您可以跳过此节点的测试。单击 Save。

3

在AI助手节点中,您可以配置聊天模型、内存和工具。这些是AI代理节点的必需组件,您可以在其中添加其他节点和子节点。

  1. 选择触发节点上的 +Connector。

  2. 搜索 AI Agent节点并将其添加到工作流中。显示AI代理的编辑视图。

  3. 点击屏幕左上角的 Back to canvas。在此阶段,您可以跳过此节点的测试。单击 Save。

4

配置聊天模型以附加节点以进程传入的提示:

  1. 单击AI代理节点上 Chat Model 标签旁边的 +Connector。此时将显示搜索面板,并按 Language Models 进行筛选。

  2. 从列表中选择 OpenAI Chat Model,或选择您首选的 LLM提供商。

  3. 单击 Credential to connect with(连接)。

  4. 选择凭证后,从下拉菜单中选择一个模型(示例gpt-4o)。

  5. 点击屏幕左上角的 Back to canvas。在此阶段,您可以跳过此节点的测试。单击 Save。

  6. 单击对话框顶部的“AI助手”图标,返回“AI助手”节点配置。

5

配置MongoDB聊天内存子节点以启用持久对话上下文。

  1. 单击AI代理节点上 Memory 标签旁边的 +Connector。

  2. 从侧面板中选择 MongoDB Chat Memory。

  3. 单击 Select credential,然后选择您的MongoDB凭证。

  4. 使用MongoDB聊天内存节点的默认配置。默认下,n8n 在指定数据库中创建一个名为 n8n_chat_histories 的集合。

  5. 点击屏幕左上角的 Back to canvas。在此阶段,您可以跳过此节点的测试。单击 Save。

  6. 单击AI助手图标返回AI助手节点配置。

6

配置MongoDB Atlas Vector Store节点以启用文档检索。

  1. 单击AI代理节点上 Tool 标签旁边的 +Connector。

  2. 在搜索面板中,选择 MongoDB Atlas Vector Store。

  3. 选择您配置的MongoDB凭证,然后指定以下值:

    设置
    值

    Operation Mode

    Retrieve Documents (As Tool for AI Agent)

    Description

    "Search through documents about movies to find relevant information"

    MongoDB Collection

    embedded_movies

    Embedding

    plot_embedding

    Metadata Field

    plot

    Vector Index Name

    vector_index

    Limit

    4

    Include Metadata

    切换到 Off

    重要提示:

    如果不将此设置切换为 Off,则AI代理可能不会运行,因为文档可能太大而无法加载到上下文窗口中。

    Rerank Results

    切换到 Off

7

为MongoDB Atlas Vector Store节点配置嵌入模型:

  1. 单击MongoDB Atlas Vector Store节点上 Embedding 标签旁边的 +Connector。

  2. 从侧面板中选择 Embeddings OpenAI。

  3. 选择您的 OpenAI凭证,然后指定 text-embedding-ada-002 模型。

  4. 点击屏幕左上角的 Back to canvas。单击 Save。

8

现在您已经配置了AI助手节点,可以测试完整的工作流程。发送消息后,工作流会在画布上实时运行。

  1. 单击画布底部附近的 Open chat 按钮。

  2. 通过运行一些初始提示来测试内存功能。示例:

    Hi, my name is Mongo
    What is my name?
  3. 通过运行以下提示来测试向量搜索和RAG功能。

    Recommend me a few movies about time travel
9
  1. 单击编辑器窗口右上角的 Save 按钮。

  2. 为您的工作流程指定一个描述性名称。示例,将其命名为“AI Agent with MongoDB”。

您可以随时返回此工作流程。