Skip to content

使用 n8n 构建 AI 聊天助手#

欢迎来到使用 n8n 构建 AI 工作流的入门教程。无论您之前是否使用过 n8n,我们都将向您展示 AI 工作流的基本构建模块如何组合,并构建一个可运行的 AI 驱动的聊天助手,您可以轻松地根据自身需求进行定制。

"已完成工作流的截图"

许多人发现通过视频形式更容易吸收新知识。本教程基于 n8n 的热门视频之一,下方提供了链接。您可以观看视频或阅读这里的步骤,或者两者都看!

所需准备#

  • n8n:本教程推荐使用 n8n 云服务 - 新用户可享受免费试用!如需自托管服务,请参考安装页面
  • 聊天模型的凭证:本教程使用 OpenAI,但您也可以轻松使用 DeepSeek、Google Gemini、Groq、Azure 等(更多信息请参阅子节点文档)。

学习内容#

  • n8n 中的 AI 概念
  • 如何使用 AI Agent 节点
  • 使用聊天输入
  • 连接 AI 模型
  • 自定义输入
  • 观察对话
  • 添加持久化功能

n8n 中的 AI 概念#

如果您已经熟悉 AI,可以跳过本节。这里将介绍 AI 的基本概念及其在 n8n 工作流中的应用。

AI 代理建立在大语言模型(LLMs)基础上,后者通过预测下一个单词来基于输入生成文本。虽然 LLM 仅处理输入以产生输出,但 AI 代理增加了面向目标的功能。它们可以使用工具、处理输出结果,并通过决策来完成任务和解决问题。

在 n8n 中,AI 代理表现为一个带有额外连接的节点。

特性 LLM AI 代理
核心能力 文本生成 面向目标的任务完成
决策能力
使用工具/API
工作流复杂度 单步操作 多步操作
适用范围 生成语言 执行复杂的现实世界任务
示例 LLM 生成段落 代理安排预约

通过将 AI 代理作为节点集成,n8n 可以将 AI 驱动的步骤与传统编程相结合,实现高效的现实世界工作流。例如,验证电子邮件地址等简单任务不需要 AI,而处理电子邮件内容或处理多模态输入(如图像、音频)等复杂任务则是 AI 代理的绝佳应用场景。

1. 创建新工作流#

当您打开 n8n 时,您会看到以下两种情况之一:

  • 空白工作流:如果您没有任何工作流且是首次登录。请使用此工作流。
  • 概览页面上的工作流列表。点击通用创建资源图标按钮来创建新工作流。

2. 添加触发器节点#

每个工作流都需要一个起点。在 n8n 中,这些被称为'触发器节点'。对于这个工作流,我们想从一个聊天节点开始。

  1. 选择 添加第一步 或按下 Tab 打开节点菜单。

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

  3. 选择 Chat Trigger 将节点添加到画布。n8n 会打开该节点。

  4. 关闭节点详情视图(选择 返回画布)以回到画布。

关于 Chat Trigger 节点的更多信息...

当有事件触发时,触发器节点会生成输出。在本例中,我们希望通过输入文本来触发工作流运行。在生产环境中,这个触发器可以连接到 n8n 提供的公共聊天界面或嵌入到其他网站。为了启动这个简单的工作流,我们将只使用内置的本地聊天界面进行通信,因此不需要额外的设置。

3. 添加 AI 代理节点#

AI 代理节点是为工作流添加 AI 功能的核心。

  1. 选择触发器节点上的 添加节点 添加节点图标 连接器以打开节点搜索。

  2. 开始输入 "AI" 并选择 AI agent 节点进行添加。

  3. 现在会显示 AI agent 的编辑视图。

  4. 有一些字段可以修改。由于我们使用的是 Chat Trigger 节点,提示来源和规格的默认设置不需要更改。

4. 配置节点#

AI 代理需要连接一个聊天模型来处理输入的提示词。

  1. 点击 AI Agent 节点底部第一个连接点 Chat Model 下方的加号 添加节点图标 按钮来添加聊天模型。

  2. 此时会弹出搜索对话框,并自动筛选出'语言模型'类别。这些是 n8n 内置支持的模型。在本教程中,我们将使用 OpenAI Chat Model

  3. 从列表中选择 OpenAI Chat model 会将其连接到 AI Agent 节点并打开节点编辑器。其中一个可修改的参数是'Model'。请注意,对于基础版 OpenAI 账户,仅允许使用'gpt-4o-mini'模型。

选择哪个聊天模型?

如前所述,LLM(大语言模型)是根据给定的提示词生成文本的组件。LLM 需要经过创建和训练的过程,这通常是一个资源密集型的过程。不同的 LLM 可能具备不同的能力或专长,这取决于它们训练时使用的数据。

5. 添加凭据(如需要)#

为了让 n8n 能够与聊天模型通信,需要提供一些凭据(用于访问其他在线服务账户的登录数据)。如果您已经为 OpenAI 设置了凭据,这些凭据应该会默认显示在凭据选择器中。否则,您可以使用凭据选择器来帮助添加新凭据。

显示 OpenAI 凭据对话框的图片

  1. 要添加新凭据,点击显示"选择凭据"的文本。将会出现添加新凭据的选项 显示创建新凭据按钮的截图

  2. 此凭据只需要一个 API 密钥。添加任何类型的凭据时,请查看右侧的文本。在本例中,它提供了一个便捷链接,可直接跳转到您的 OpenAI 账户获取 API 密钥。

  3. API 密钥只是一个长字符串。这就是这个特定凭据所需的全部内容。从 OpenAI 网站复制它并粘贴到 API 密钥 部分。

保护您的凭据安全

凭据是由应用程序和服务颁发的私有信息,用于验证您的用户身份,并允许您在应用程序/服务与 n8n 节点之间连接和共享信息。所需的信息类型因相关应用程序/服务而异。您应该注意不要在 n8n 之外共享或泄露这些凭据。

6. 测试节点#

现在节点已连接到 Chat Trigger 和聊天模型,我们可以测试这部分工作流。

  1. 点击画布底部的 "Chat" 按钮。这将在左侧打开本地聊天窗口,右侧显示 AI 代理日志。

  2. 输入消息并按 Enter。现在您将看到聊天模型的响应出现在您的消息下方。

  3. 日志窗口显示 AI 代理的输入和输出。 显示正在进行中的聊天会话的图片

访问日志...

即使不使用聊天界面,您也可以访问 AI 节点的日志。打开 AI Agent 节点,点击右侧面板中的 Logs 标签页。 显示 AIAgent 中日志标签页的截图

7. 修改提示词#

上一步的日志揭示了一些额外数据 - 系统提示词。这是 AI Agent 提供给聊天模型的默认初始消息。从日志中可以看到它被设置为 "You are a helpful assistant"。不过我们可以修改这个提示词来改变聊天模型的行为。

  1. 打开 AI Agent 节点。在面板底部有一个标记为 'Options' 的部分和一个标记为 'Add Option' 的选择器。使用它选择 'System message'

  2. 现在显示系统消息。这就是我们之前在日志中注意到的相同初始提示词。将提示词更改为其他内容,以不同的方式初始化聊天模型。例如,您可以尝试 "You are a brilliant poet who always replies in rhyming couplets"(你是一位才华横溢的诗人,总是用押韵的对句回答)。

  3. 关闭节点并返回聊天窗口。重复您的消息,注意输出如何变化。 显示聊天文本变化的图片,现在它会押韵;如果您能相信的话

8. 添加持久性#

目前聊天模型已经能提供有用的输出,但当你尝试进行对话时会发现一个问题。

  1. 使用聊天功能告诉聊天模型你的名字,例如"你好,我叫Nick"。

  2. 等待回复后,输入消息"我的名字是什么?"。AI将无法告诉你,无论它看起来多么抱歉。这是因为我们没有保存上下文。AI代理没有记忆展示上述对话的图片

  3. 为了让AI代理记住对话内容,需要保留上下文。我们可以通过为AI Agent节点添加记忆功能来实现。在画布上点击AI Agent节点底部标有"Memory"的添加节点图标

  4. 从出现的面板中选择"Simple Memory"。这将使用运行n8n实例的内存,对于简单使用通常已经足够。默认的5次交互值在这里应该够用,但记住这个选项的位置以便日后可能需要修改。

  5. 重复上面的对话练习,现在可以看到AI代理能记住你的名字了。

9. 保存工作流#

在离开工作流编辑器之前,记得保存工作流,否则所有更改都会丢失。

  1. 点击编辑器窗口右上角的"Save"按钮。现在你的工作流将被保存,之后可以返回继续聊天或添加新功能。

恭喜!#

您已经迈出了使用 AI 构建实用高效工作流的第一步。在本教程中,我们探讨了 AI 工作流的基本构建模块,添加了 AI Agent 和聊天模型,并调整提示词以获得我们期望的输出。我们还添加了记忆功能,使聊天能够在消息之间保留上下文。

后续步骤#

现在您已经了解了如何创建一个基础的 AI 工作流,以下资源可以帮助您进一步扩展知识,并提供灵感指引您下一步的方向: