新闻动态

资讯爆炸看不过来?快用N8N订制你的全球每日新闻速递

发布日期:2025-11-22 23:36    点击次数:143

   N8N手把手入门系列(6.2 ):重要节点与案例:循环节点和异常处理开始之前N8N系列我们也开讲一段时间了,一直都在小打小闹的做各种功能性介绍的演示,但我们一开始就说过:N8N是自动化工作流的重器,比Dify,Coze更适合开发企业级应用。那我们今天就来用AI+自动化工作流为自己打造个真实可用的新闻简报助手吧,刚好五一假期来临,有兴趣的朋友可以自己动手复现一个。

图片

这就是我自己定制的每日全球AI新闻速递的效果,无论原文是哪国语言,都可以按中文新闻汇总。有兴趣的话,你也可以为自己做一个专属的新闻简报速递。准备工作1. 安装社区节点n8n-nodes-firecrawl 参考N8N手把手入门系列(三)添加社区节点:飞书    https://www.npmjs.com/package/n8n-nodes-firecrawl 2. 注册Firecrawl或自己部署一套Firecrawl,     https://www.firecrawl.dev3. 新闻RSS源,你日常关注的新闻来源。如果你说你日常信息来源都是微信公众号也是可以的,自行安装部署WeWe RSS这个项目,可以把微信公众号转成RSS订阅。    https://github.com/cooderl/wewe-rss 4. 一个支持较高并发的大模型API,这里推荐用智谱开放平台的免费模型GLM-4-Flash     https://open.bigmodel.cn    但需要注意,N8N无法直接调用智谱的API,可以通过OneAPI中转后,当做OpenAI兼容API调用,想要拥有自己的OneAPI中转站,集中管理大模型API的朋友可以看文末的中转站产品介绍。进入流程开发

图片

基础流程

首先我们来过一下主要的处理过程:

1. 定时从多个RSS渠道收集过去24小时的新闻,并汇聚在一起;2. 由AI根据你预先写好的偏好描述,遍历每一条新闻你潜在的关注度进行打分;3. 根据关注度评分进行排序,从所有新闻中筛选出20条数的新闻;4. 使用FireCrawls爬取筛选出的20条新闻的正文内容;5. 整理后交给AI汇总整理成一篇当日的专属简报。其实整个工作流主流程并不算太复杂,但实际这里面有挺多细节点,大家需要有一定心理准备。第一步:设定定时任务节点以及RSS新闻渠道

图片

1. 添加Schedule Trigger和RSS Read节点,这两个节点非常简单,无非设定好触发时间(支持多个时间点)和你要作为新闻数据来源的RSS Feed地址就行了。在我的例子里我设置了中外一共6个RSS源,多国语言也没问题。2. 添加一个Merge节点,这个节点用于处理多个节点汇聚,有多种模式,在这里我们选择Apend/追加即可,然后Number of Inputs的数字需要和你的RSS Feed源数量一致,并确保每个源都连到一个单独的接口上。3. 添加一个Filter节点,这个节点是根据时间筛掉超过24小时的新闻

图片

第二步:通过循环节点处理每一条新闻,并最终筛选出20条最匹配的

图片

1. 这是今天的关键节点,Loop Over Items,先把它添加到流程中,这个节点看上去设置比较简单:· Batch Size,这个其实就是循环次数· Reset,是否重置,这个属性应该是在循环过程中,如果把这个值设为True,就会让循环重置,从头再开始。当前场景用不到。· Replace me/替换我,这是和Loop Over Items一并加入的一个空节点,其实就是这个循环的处理逻辑2. 添加一个Basic LLM Chain到循环内

图片

· 基本设置看图所示,添加一个System,Message大致模板如下:你是用户最贴心的助理,你会帮用户筛选出我关心的新闻,舍去那些用户不关心的事。 用户情况介绍:<替换成你的提示词,请介绍你的基本信息情况以及你对新闻内容的兴趣偏好,越详细越好>。 如果文章本身就是多条新闻组成的,无论内容是否可能是用户关心的,直接评为10分;你处理新闻,并按输出JSON数据,参考格式如下 {    'date': '2025/4/29 16:28:44',    'title': '{{ $json.title }}', 'link': 'https://36kr.com/p/xxxxxxx',  catalog:'按照文章内容进行分类',  'AttentionScore': 100, # 用0-100表示估计用户的关注可能性 'reason':'认为用户可能关注的原因'}

可以看到这段提示词的目的就是让AI根据用户的喜好,对每一条新闻在0-100区间打一个评分:用户可能感兴趣的可能性。这个有个细节是勾选了Require Specific Output Format,这会对大模型输出的结果进一步约束结构,有多种约束节点可选,我这里选择的是Structured Output Parser

图片

JSON格式样本代码如下:
{      'date': '2025/4/29 16:28:44',  'title': '30字以内的摘要标题',  'link': 'https://36kr.com/p/3270998650904711',  'catalog': '新闻/实践/辟谣/点评等',  'AttentionScore': 100,  'reason':'认为用户可能关心的原因'}
3. 到目前为止可能有几十上百条甚至几百条新闻被大模型逐条处理过了,但明显我们不可能看过来那么多条,因此这里我们需要筛选出AttentionScore最高的20条记录。我自己是用Code节点实现的,大家可以简单点直接用一个Sort节点和一个Limit节点实现。第三步:抓取筛选后的新闻正文1. 需要添加一个Firecrawl节点,去实际爬取通过筛选的新闻。选择Scrape A Url,并转成Markdown格式。

图片

需要说明一点的是,这个FireCrawl如果用云服务,一个月免费500次,自己部署可能会好些,不过资源占用其实还不算太小,使用也有一些问题。最后一并在异常处理部分来说。第四步:汇总并撰写当日新闻稿,并发邮件

图片

1. 再添加一个Basic LLM Chain节点,处理抓取回来的Markdown格式的新闻正文。本来最开始是没有这个节点的,但发现如果直接把20条新闻的Markdown内容塞给汇总节点处理,会有太多不必要的干扰数据,并且由于整体内容太长容易导致处理失败。所以前置一个节点先做一下预处理。System提示词如下整理内容,并整理为JSON格式输出,格式如下:{   'link': 'https://36kr.com/xxxxxx',   'content': '正文内容'}1. 注意正文内容不包括标题,作者,出处等,仅包括主题内容。2. 如果内容涉及多条新闻的,只挑选影响力最大的一条输出,剩余内容舍弃;2. 再添加一个Aggregate节点,这个节点的作用就是把20条记录合并成一条单独的记录

图片

3. 新闻汇总,再添加一个Basic LLM Chain节点,虽然N8N还有个内置的Summarization Chain节点,但我看了下可能并不适合这个场景。

图片

这个提示词大家按照自己期望的最终输出结果方式,风格等,撰写自己的提示词就行了。4. 因为我是让节点按Markdown格式输出整片文章内容,所以又再加了一个Markdown节点,把全文由Markdown格式转成HTML格式,再把HTML的内容作为邮件正文发送出去。(好像我也可以要求大模型直接输出HTML吧,就不用这个节点额外处理了)到此,整个工作流的就开发完了。

但是呢,接下来,大概率你会很快发现你的工作流跑不通,一堆报错,哈哈哈。别急,我们接下来进入异常处理章节,非常重要!!

异常处理

为什么我们上面设计的工作流,无法正常跑起来呢?因为我们的工作流没做任何异常处理考虑,之前的例子都比较简单,所以基本可以不用考虑这个问题。而今天这个例子,其实执行步骤和时间都还是会比较长的,而所有的网络操作,文件操作,调用大模型的操作,其实都是可能失败的,操作的步骤越多,失败的概率越大,而默认情况下,一旦出现一个错误,整个工作流就无法继续下去了。

这!肯定是不行的。所以我们需要改进工作流,都加上异常处理机制。

来看看可能会出现异常的节点有哪些?1. RSS Reader节点,因为都是远程访问网页,所以是可能失败的。2. 所有的LLM大模型节点,大模型其实是通过网络远程调用API,肯定是可能会失败的。并且,因为在N8N里集中频繁的调用大模型API是非常容易触发大模型官方的限流策略的,当你看429错误码时,就是这个原因。3. Firecrawl节点,这个节点也是一样的道理,瞬间让他访问十多个网页,会导致他瞬间的CPU负载过高,或者内存占用过多,直接罢工。官方的云服务也有做限速控制。4. Mail节点,这个也是可能因为网络不动导致失败的。怎么处理?

其实解决办法也比较简单,那就是给这些节点都设置失败重试,并把重试间隔时间试着设大一点。简单说就是,不要让你的操作过于集中和频繁。

图片

1. 一定要勾上失败时重试2. 最大尝试次数,最多也只能5次,拉满也行3. 等待尝试之间的时间(毫秒),设个5000吧,如果还容易报429这类的错误,可以设更大一些4. 出现错误时,一定改成继续,默认会遇到错误就直接中断整个流程。还可以选继续(使用错误输出),这是进一步细化对异常错误的处理机制,大家有兴趣可以进一步深入尝试。

把上面提到的这些节点都做好异常处理设置之后,再运行你的工作流,即便遇到错误,也会不断重试,最终完成整个工作流的。

到此,我们今天的工作流就能够顺利工作了,保存并激活工作流,等待明天早晨属于您自己的专属新闻快报吧。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

Powered by 雷速体育规则怎么玩懂 @2013-2022 RSS地图 HTML地图

Copyright Powered by365建站 © 2013-2024