Docs 菜单
Docs 主页
/
Atlas
/ / /

使用MongoDB和 n8n 构建AI助手

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

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

  • MongoDB Atlas Vector Store Node,用于从示例数据中检索相关文档

  • 用于存储对话历史记录的MongoDB聊天内存节点

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

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

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

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

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

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

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

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

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

注意

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

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

  • 已安装 8n 个。

  • 以下MongoDB 集群类型之一:

    • 运行MongoDB 版本的Atlas6.0.11 集群,7.0.2 或更高版本。确保您的 IP解决 包含在Atlas项目的 访问权限列表 中。

    • 使用Atlas CLI创建的本地Atlas部署。要学习;了解更多信息,请参阅创建本地Atlas部署。

    • 安装了Search 和 Vector Search的MongoDB Community或 Enterprise集群。

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

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

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

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

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

必须先在集合上创建向量搜索索引,然后才能使用MongoDB向量存储节点。

要使用其他索引创建方法,请按照索引创建过程中的步骤操作。使用以下配置:

{
"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

要学习;了解如何查找MongoDB连接字符串,请参阅连接字符串。

Database

输入 sample_mflix

在 n8 n 中完成以下步骤,以使用MongoDB和 n8 n构建AI代理工作流程。要学习;了解有关工作流程的更多信息,请参阅关于MongoDB的 n n 工作流程。8

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
    Hello Mongo! Nice to meet you. How can I help you today?
    What is my name?
    Your name is Mongo, as you mentioned when you introduced yourself earlier.
  3. 通过运行以下提示来测试向量搜索和 RAG 功能。

    Recommend me a few movies about time travel
    Here are a few movies about time travel that you might enjoy:
    The Time Traveler's Wife - A romantic drama about a Chicago librarian with a gene that causes him to involuntarily time travel, leading to complications in his marriage.
    Timecop - An officer working for a security agency that regulates time travel must battle for his life against a corrupt politician tied to his past.
    We Are from the Future (My iz budushchego) - Four modern-day treasure seekers are unexpectedly transported into the midst of a World War II battle set in Russia.
    About Time - A young man discovers at the age of 21 that he can travel back in time. He attempts to improve his life, including finding love, but things don't turn out to be as simple as they seem.
    Let me know if you'd like any additional information about these films!
9
  1. 单击编辑器窗口右上角的 Save 按钮。

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

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

后退

n8n

在此页面上