当前位置: 首页 > backend >正文

#Datawhale 组队学习#8月-工作流自动化n8n入门-3

前面已经学习了Task1:n8n简介和平台部署,Task2:n8n平台基本概念与基础节点。

我们继续学习Task3:n8n高阶:子工作流以及AI Agent。

包括:

  • 子工作流
  • 错误处理
  • 集群节点
  • MCP
  • Human in the Loop

1.n8n子工作流与错误处理

什么是子工作流?n8n 支持从一个工作流调用另一个工作流。子工作流可以用于将复杂的任务分解为更小的、可重用的部分。 工作流通过 Execute Workflow 来调用子工作流,子工作流通过 Execute Sub-Workflow Trigger 来触发。

我们可以创建独立的子工作流,也可以将子工作流嵌入到主工作流中。下面的例子我们将以一个简单的计算器 子工作流为例,演示如何创建和使用子工作流,该计算器子工作流支持加、减、乘、除四种运算。

一个完整的子工作流示例如下图所示:

n8n错误处理

在我们设计的工作流时,考虑容错是非常重要的。n8n 使用Error Trigger节点来触发错误处理逻辑。

错误处理是独立的工作流,以下是配置步骤:

  1. 创建新的工作流,选择Error Trigger作为触发节点,Error Trigger节点没有配置项。

  2. 添加后续的节点,如发送邮件Email节点,配置邮件内容,如错误信息。保存工作流并命名, 如error notify。如下是Error Trigger节点的数据示例,我们可以在后续的节点中通过 表达式来引用这些数据,如触发错误的工作流名称、执行 URL 等。

  3. 在需要错误处理的工作流中,点击右上角三点菜单中的Setting菜单项。

  4. 在弹出的配置窗口中,在Error Workflow的配置项中选择我们刚刚新建的错误处理工作流,保存配置。

示例如下:

2.n8n AI相关概念

n8n 内置了 AI 相关的节点和处理方式,可以方便用户构建 AI 相关的应用,包括 AI 聊天机器人、文本总结、AI Agent 等。

Cluster nodes集群节点

集群节点 (Cluster nodes) 是一组一起工作的节点组,它们由一个根节点 (root node) 和 一个或多个扩展节点功能的子节点 (sub-nodes) 组成。

Cluster nodes 的根节点一般分 Chian 及 Agent 类型。 Chain 是一种简单的 LLM 集成方式,用来串联工作流中的其他节点,且不支持记忆功能。

Agent 节点则可以访问更多的工具,以及可以根据用户输入和上下文信息执行任务,并通过工具返回的信息做 执行的决策。可以认为 Agent 是一种知道如何做出决策的 Chain 节点。

一些示例如下:

Memory 记忆

在构建 AI 聊天机器人时,记忆 (Memory) 是一个重要的概念,它允许 AI 模型记住之前对话的内容,以便 在后续的对话中使用这些信息。记忆可以帮助 AI 模型更好地理解用户的意图,并生成更准确和相关的回答。

实际测试如下:

RAG
这里使用的是Ollama本地部署的嵌入模型nomic-embed-text:latest,这里分享遇到的一个坑。

  • 关键点:如果 n8n 运行在 Docker 中,而 Ollama 运行在宿主机的本地(localhost),不能直接使用 http://localhost:11434。因为对 n8n 容器而言,"localhost" 指的是容器自己。

  • 正确的做法

    • 方法一(推荐):使用特殊的 Docker DNS 名称 host.docker.internal,它指向宿主机的 IP 地址。因此,Ollama 的 Base URL 应设置为 http://host.docker.internal:114341。

    • 方法二:使用宿主机的局域网 IP 地址,例如 http://192.168.1.100:11434

“内容上传”示例如下:

接下来是内容检索。

完整的示例如下:

Tools工具

在 AI 场景中, 工具有着特殊的意义,它能够帮助 AI Agent 补充额外的 LLM 不支持的能力,如搜索引擎搜索、 数据库查询、天气信息查询等。

一个 AI Agent 可以关联多个工具,如下所示我们添加了两个工具,Date & Time Tool 和 Calculator,分别用于查询日期和时间,以及计算器。

完整的工作流如下:

MCP

MCP (Model Context Protocol) 是一种开放协议,标准化了应用程序如何为 LLM 提供上下文。 可以把 MCP 看作是 AI 应用的 USB-C 端口。

完整案例如下:

注意Active需要激活。

好了,本次学习到此为止,感兴趣的小伙伴点赞收藏关注吧。

http://www.xdnf.cn/news/19332.html

相关文章:

  • LabVIEW 瀑布图与游标操作
  • 分布式事务相关
  • [软考中级]嵌入式系统设计师—核心知识点速记
  • 分布式相关
  • 【iOS】MVC架构
  • 自制扫地机器人(一)20 元级机械自动避障扫地机器人——东方仙盟
  • 晶晨线刷工具下载及易错点说明:生成工作流程XML失败
  • Trie树(静态数组实现)
  • 人工智能加速漏洞利用,15分钟即可完成概念验证?
  • 神州数码VRRP 原理与配置篇
  • 应用开发使用缓存
  • macos调用chrome后台下载wasm-binaries.tar.xz
  • 对于牛客网—语言学习篇—编程初学者入门训练—复合类型:BC136 KiKi判断上三角矩阵及BC139 矩阵交换题目的解析
  • Nginx四层负载均衡实战指南
  • 基于 YOLOv11n 的无人机航拍小目标检测算法学习
  • 鸿蒙搭配前端开发:应用端与WEB端交互
  • Go学习1:常量、变量的命名
  • 2025.8.31基于UDP的网络聊天室项目
  • LangChain Prompt管理核心:PromptTemplate与ChatPromptTemplate全解析
  • JVM学习总结
  • shell脚本(略)
  • KMP 算法相关练习题
  • 7.0elementplus布局容器详解
  • WebSocket的基本使用方法
  • 让你的App与众不同打造独特品牌展示平台
  • C语言学习笔记(自取)
  • 从新能源汽车看产品逻辑与认知系统
  • QML Chart组件之图例
  • 根据Excel数据表快速创建Word表格(标签)
  • 后向投影合成孔径辐射源定位方法(一)