在基础篇、高级篇中详细介绍了工作流常用的AI节点以及它的操作,特别针对Deepseek的调用场景。选择Deepseek是因为性价比高,又便宜又好用。按照文章中介绍两种AI的调用方法,目前n8n可以调用全球所有最新AI大模型,也包括国内AI大模型,在新版n8n(1.78.1) 中已经集成了 OpenAI 刚刚发布的 ChatGPT o3 mini 和马斯克昨天刚发布的 Grok3 只要大模型提供 API 让我们去调用都是ok的。
测试AI自动化工作流
我今天在户外在路上,地铁里,办公室都测试过了咱们这个AI工作流。一点问题没有确实可以每隔几分钟就能收到AI给我筛选的新闻。当然,这里的时间间隔是可以在触发里自定义的。这里有个知识点,我们在n8n中当对工作流进行修改之后要立即运行测试工作流时就需要点击“画布”下方的“Test Workflow”按钮,这样就可以直接运行工作流无需等待触发器自己启动。
工作流在运行时会显示当前任务运转到那个节点上了,非常的直观。
当前哪个节点正在工作,节点上就会出现旋转的红色箭头,是不是很直观。
当工作流跑完整个任务之后右下角就会显示工作流正常完成的提示框,如果遇到错误就会有提示框显示错误信息。
本案例AI自动化工作流中“Deepseek Chat Model”节点运行的时间稍微长一点,因为要等待远程Deepseek服务器返回AI的回答,要是Deepseek服务正在繁忙的话我们工作流就会执行超时,n8n就会提示超时信息。所以,工作流执行效率通常取决于获取新闻的时间和AI回复的效率,其他都在n8n工作流内部很快的完成。
AI自动化工作流场景延伸
这套AI自动化工作流Demo算是抛砖引玉,我们可以做一个场景小延伸,可以在此基础上扩展出非常多的场景玩法,比如当AI助手完成某一项任务(自动化工作流)时给我发送结果邮件,还可以反过来通过回复邮件告诉AI除了推送AI新闻我还想看娱乐新闻,当然工作流接收到邮件后提取出邮件内容反馈给AI,别忘了n8n是支持一个工作流调用另外一个工作流的。总之,酷!妥妥的高管“信息减负神器”,觉得真香。
AI自动化工作流的执行和部署
为什么叫“落地篇”,我们在上两篇文章中介绍了本例工作流的每个节点使用方法和AI调用方法,但是没有教大家如何启动、停止、激活工作流,以及查看工作流执行状态。另外,我们还可以对n8n的工作流进行下载、复制等操作。
如果你会开发或者公司有技术团队n8n提供了一套完整的对外API,让我们能轻松将n8n上的自动化工作流融入到我们自己的系统或产品中去,能提供更加灵活的AI应用,真正可以做到AI落地。
本篇你将学到:
1. AI代理:支持哪些AI大模型。
2. 工作流启动:触发器( Trigger )的种类,各自的作用。
3. 数据编辑:字段编辑( Edit Fields )节点。
4. 数据拆分:数据结构拆分( Split Out )节点。
5. 数据保存:数据库( Mongodb )节点。
5. 发送邮件:发送邮件( Send Email )节点。
6. 工作流执行:启动、和激活以及检查执行记录( Executions )。
7. 工作流权限:复制、下载、删除。
n8n支持哪些AI模型
n8n支持的AI模型随着版本不断更新也会不断迭代,截至1.78.1版我们可以使用的AI大模型,整理给到大家。
Gemini 2/Gemini 2 Flash
Azure OpenAI
ChatGPT 4o/ChatGPT 4o mini
Anthropic
Claude 3.5 Sonnet
OpenAI
ChatGPT o3 mini/ChatGPT 4o
深度求索
Deepseek-v3/Deepseek R1
阿里巴巴
Qwen2.5 max/Plus/turbo
meta
Llama3.3
XAI
Grok3
这里只列出当前所支持的最新AI大模型,低版本就不一一列出了。另外,使用不多规模较小的AI模型就不列了,比如kimi、文心一言、豆包等等。只要这个AI公司对外提供API的话n8n就可以使用。常用的AI是Deepseek-v3、阿里Qwen2.5、ChatGPT 4o和Claude 3.5这几个。关于AI的API调用基础篇、高级篇中已经介绍过了,这里就不赘述了。
👉
手把手教你搭建智能工作流基础篇,n8n+Deepseek大模型保姆级教程
👉
手把手教你搭建智能工作流高级篇,n8n+Deepseek大模型保姆级教程
启动工作流
在n8n中,要让工作流工作就要先启动工作流,就要用到“触发器(Trigger)“它是一种特殊类型的节点,用于启动工作流。触发器节点通常位于工作流的起始位置,负责监听特定事件或条件,并在满足条件时触发工作流的执行。n8n中有几十种触发器,列出三种些常见的触发器节点及其功能:
|
|
|
|
|
|
Manual Trigger |
|
|
Webhook Trigger |
|
|
|
一种特殊的触发器,它允许你通过一个聊天窗口触发 工作流。 |
通常在调用AI对话工作流中使用,它的消息会默认传递给下一层的 AI 节点。 |
以上就是几种我们常用的自动化工作流触发器。这里,对“Chat Trigger”触发器多说一些,在需要与AI对话的场景中会用到,比如聊天机器人、智能客服等。
Chat Trigger 详细说明:
Chat Trigger 没有参数设置,只需在画布中创建,即可将 Workflow 切换为聊天触发模式。其触发机制是:每发送一条消息,都会完整触发一次 Workflow。
如果下游的 AI 节点未接入 Memory 服务,Chat Trigger 每次触发时都不会保留之前的对话内容,即默认不具备动态上下文能力,AI 无法记住上一次的对话内容。
当添加 Chat Trigger 时,n8n 会提示该触发器需要与 AI 节点连接。然而,这并非强制要求。Chat Trigger 完全可以作为输入触发器使用。例如,如果你的 Workflow 需要从数据库中筛选指定日期的文章,可以通过 Chat Trigger 输入日期,并在后续的筛选步骤中引用该输入日期进行筛选,从而避免每次运行时手动修改筛选条件。
在本例中使用的是“Schedule Trigger”触发器。
数据编辑:字段编辑( Edit Fields )节点
可以设置工作流执行的时间间隔,比如每周、每天、每小时、每分钟、每秒等。要获取节点输出的数据我们就要用到 字段编辑(Edit Fields) 节点,使用“编辑字段”节点可以灵活地设置或修改工作流程中的数据。该节点既可以添加新数据,也可以覆盖已存在的数据。在处理需要从上游节点接收数据的工作流程时,此节点尤为重要。例如,在将数据插入 Google 表格或数据库之前,通常需要使用“编辑字段”节点对数据进行调整或格式化。
节点参数:
以下是“编辑字段”节点中可用的设置和选项:
模式:
1. 手动映射
通过图形用户界面(GUI)直观地编辑字段。您可以选择特定的字段并对其进行修改或添加新字段。“手动映射模式编辑”如下图:
2. JSON 输出
通过编写 JSON 来定义如何修改输入数据。这种方式适合需要更复杂操作或批量处理数据的场景。您可以直接编写 JSON 对象,n8n 会将其应用到输入数据中。
”JSON 输出模式编辑“如下图:
假如,上游节点生成的以下数据:
[
{
"id": "23423535",
"name": "Zaphod Beeblebrox",
"email": "captain@heartofgold.com",
"notes": "Felt like I was talking to more than one person",
"country": "CN",
"created": "1979-10-12"
},
{
"id": "23423536",
"name": "Edmund Pevensie",
"email": "edmund@narnia.gov",
"notes": "Passionate sailor",
"country": "UK",
"created": "1950-10-16"
}
]
在JSON 编辑框中编辑需要输出的字段 :
{
"newKey": "new value",
"array": [{{ $json.id }},"{{ $json.name }}"],
"object": {
"innerKey1": "new value",
"innerKey2": "{{ $json.id }}",
"innerKey3": "{{ $json.name }}",
}
}
将获得以下输出结果:
[
{
"id": "23423535",
"name": "Zaphod Beeblebrox",
"email": "captain@heartofgold.com",
"notes": "Felt like I was talking to more than one person",
"country": null,
"created": "1979-10-12",
"newKey": "new value",
"array": [
23423535,
"Zaphod Beeblebrox"
],
"object": {
"innerKey1": "new value",
"innerKey2": "23423535",
"innerKey3": "Zaphod Beeblebrox"
}
},
{
"id": "23423536",
"name": "Edmund Pevensie",
"email": "edmund@narnia.gov",
"notes": "Passionate sailor",
"country": "UK",
"created": "1950-10-16",
"newKey": "new value",
"array": [
23423536,
"Edmund Pevensie"
],
"object": {
"innerKey1": "new value",
"innerKey2": "23423536",
"innerKey3": "Edmund Pevensie"
}
}
]
通过这两种模式,我们可以根据需求灵活地调整数据,确保其符合后续节点的处理要求。
数据拆分:数据结构拆分( Split Out )节点
Split Out 节点 是一个功能强大的工具,它可以将输入数据拆分为多个独立的项。它的主要作用是将一个包含数组或列表的输入数据分解为多个单独的数据项,以便后续节点可以分别处理每一项。Split Out 节点非常适合处理批量数据或需要逐项操作的任务。
我们看一下典型的应用场景:
场景1: 批量处理数据
有一个包含多条记录的数组(例如从 API 或数据库查询返回的结果),需要逐条处理这些记录。
[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" },
{ "id": 3, "name": "Charlie" }
]
使用 Split Out 节点后,数据会被拆分为:
{ "id": 1, "name": "Alice" }
{ "id": 2, "name": "Bob" }
{ "id": 3, "name": "Charlie" }
场景2: 逐条发送消息
假如,您需要将一组消息逐条发送到某个平台(如微信或电子邮件)。
[
{ "message": "Hello, Alice!" },
{ "message": "Hello, Bob!" },
{ "message": "Hello, Charlie!" }
]
场景3: 逐条插入数据库
假如,您需要将一组数据逐条插入到数据库表中。本例中,就使用Split Out 节点将新闻数组逐条插入到Mongodb数据库中。
[
{ "product": "Apple", "price": 1.2 },
{ "product": "Banana", "price": 0.5 },
{ "product": "Orange", "price": 0.8 }
]
场景3: 逐条调用 API
场景:您需要根据一组数据逐条调用外部 API。
[
{ "userId": 1, "action": "update" },
{ "userId": 2, "action": "delete" },
{ "userId": 3, "action": "create" }
]
数据保存:数据库( Mongodb )节点
想把获取的新闻列表一条一条保存到数据库中方便后续处理,比如直接在网站上显示新闻列表。先让Split Out 节把新闻数组分割为一条条数据项再一条一条插入数据表。
要说明一下,数据库你可以使用你常用或者擅长的数据库,比如Postgres
Mongodb设置很简单:
配置连接数据库的账号密码
Credential to connect with:xxxxxxxx
执行插入操作
Operation : Insert
将数据保存到数据表的名称
Collection : TempNews
要保存的字段名,用逗号隔开
Fields : title,author,content,publishedAt,urlToImage,url
保存到Mongodb数据库之后是这样的,下图是TempNews表的截图,这样就方便我们在非n8n平台之外对新闻数据进行加工处理。
发送邮件:发送邮件( Send Email )节点
我们需要将AI返回的新闻每一条通过邮件发送到用户邮箱中,在n8n中通用的邮件发送节点就是 Send Email。Send Email 节点它支持通过第三方电子邮件服务(如 Gmail、Outlook、QQ、163 邮箱等)发送邮件。Send Email 节点非常适合通过邮件形式自动化通知、报告发送、工作流状态更新等场景。
Send Email 节点的作用
- 发送电子邮件:通过配置 SMTP 或集成第三方邮件服务,发送文本或 HTML 格式的电子邮件。
- 支持附件:可以附加文件(如报告、图片、文档等)到邮件中。
- 动态内容:支持使用表达式动态生成邮件内容、主题、收件人等字段。
- 批量发送:结合 Split Out 节点,可以批量发送邮件给多个收件人。
本例中使用的是163邮箱,因为是教程案例不设计商用,那么使用个人邮箱提供发邮件功能就可以了,如果是企业场景就需要找专业提供邮件服务的提供商。
我们看一下邮箱配置,非常的简单。
Both参数意思是同时提供Text和Html两种内容格式,收件箱支持那种就支持那种格式。
工作流执行:启动、激活以及检查执行记录
到此我们工作流所有使用节点都介绍完了,剩下我们就介绍工作流的启动、停止和激活,以及执行记录。
启动方式1:“Test workflow”按钮
工作流画布底部红色“Test workflow”按钮,立即运行当前工作流。一般用在测试调试当前的工作流,也可以停止正在执行的工作流。
启动方式2:触发器
触发器我们之前介绍过了,配置好的触发器会根据规则自动执行工作流,我们可以手动运行触发器,当触发器执行了也就带动整个工作流开始执行。每个节点顶部都有一个运行按钮。(当鼠标移动到节点上就会出现一排快捷键,包括执行按钮、删除按钮等)
激活工作流
工作流完成之后默认是未激活状态,激活是什么意思呢?顾名思义“激活”就是工作流可以在后台一直运行了,好比网站上线,App发布,激活的工作流就可以一直为我们提供自动化服务了。激活工作流后当我们退出n8n或者关闭浏览器也不影响工作流的运行,它默默的在服务器上执行着自己的任务。
激活工作流:点击画布右上角的“Inactive”开关。
回到首页工作流列表页面,可以看到每个工作流当前的状态,绿色代表工作流正在运行。
执行记录
一旦工作流被激活就开始工作,我们可以通过“Executions”这个功能查看当前工作流每次执行的信息,包括被每次执行任务的时间和任务是否成功。
只有在工作流被激活的状态下才有执行记录。
工作流权限:复制、下载和删除
我们如果是私有部署的话管理员拥有最高权限,包括邀请其他用户注册、删除用户和对所有工作流的一切操作,包括对其他用户生成的工作流进行管理。反过来普通用户是看不到管理员和其他用户创建的工作流,所以管理员拥有当前n8n最高权限。
复制工作流
工作流是可以复制的,首先,工作流多了之后为了方便管理我们会创建一些标签用于区分不同业务场景的工作流,所以,复制工作流类似将当前工作流移动到其他类别下。
下载工作流
当我们需要将当前工作流发给某个客户或者部署到其他的n8n平台上的话,就需要用到下载功能,因为,下载的是一个json文件,这个json文件就是整个工作流的“源代码”,有了这个json文件就可以扔到随便某个n8n平台上去执行任务。只要在菜单中选择导入工作流就把这个json文件导入即可。
打开json文件就可以看到工作流详细的各种信息,如图:
其实,n8n使用json这种互联网时代通用的信息格式是兼容性最好的一种方式,记录保存和去读信息都非常的方便,各种开发平台和编程语言都能轻松操作json文件。
结语:零代码也能玩转 AI,小白秒变技术达人
本案例通过 n8n 配置AI自动化工作流,实现从新闻抓取、内容筛选、到邮件发送或社交媒体发布的全程自动化。
发表评论 取消回复