iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
生成式 AI

「解放自動化新利器!深入了解 n8n 如何助你輕鬆打造專屬工作流程」系列 第 25

Day 25:資訊過載的終極解答!n8n 結合 AI 打造你的專屬新聞摘要產生器

  • 分享至 

  • xImage
  •  

前言:從情報員到分析師,讓 AI 為你閱讀

在過去幾天的旅程中,我們已經將 n8n 從一個單純的通知工具,訓練成了一個能夠監控服務、抓取情報的 24 小時情報員。但很快地,我們就會面臨一個新的問題:資訊過載

即使 n8n 每天為我們抓取了數十篇最新的技術文章,我們真的有時間一篇篇全部讀完嗎?如果錯過了其中的關鍵資訊怎麼辦?

今天,我們就要為我們的 n8n 工作流裝上「大腦」,引入強大的人工智慧 (AI)。我們將教 n8n 如何在抓取到新文章後,自動爬取全文,將其餵給 AI 模型,產生精簡的摘要,最後才將這份「智慧結晶」推播給我們。

我們的目標: 建立一個 n8n 工作流,自動監控 ITHOME 鐵人賽的文章,在有新文章發布時,自動爬取全文,利用 OpenAI 產生三點式摘要,並將摘要與原文連結一同發送到 Discord。


一、核心工作流架構:爬、抓、讀、送

這個流程整合了我們前面學到的多項技能,並引入了全新的 AI 處理環節。

A[RSS Read: 監控鐵人賽新文章] --> B[HTTP Request: 抓取文章網頁];
B --> C[HTML Extract: 提取文章主要內文];
C --> D{IF: 是否成功提取到內文?};
D -- 是 --> E[OpenAI: 產生文章摘要];
E --> F[Discord: 發送摘要與連結];
D -- 否 --> G[結束];`

二、實作步驟詳解 (AI 整合實戰)

步驟 1:RSS Read 節點 (監控資訊源)

這是我們情報的來源,與 Day 23 的設定完全相同。

  • 節點類型: RSS Read
  • URL: https://ithelp.ithome.com.tw/rss/group/ironman/all
  • Update Every: 30 Minutes (由於後續有 AI 處理成本,建議不要設定得太頻繁)

步驟 2:HTTP Request 節點 (爬取文章全文)

RSS Feed 通常只包含摘要 (snippet)。為了讓 AI 能夠理解整篇文章,我們需要回到原文頁面,抓取完整的 HTML。

  • 節點類型: HTTP Request
  • URL: {{$json.link}} (使用上一個 RSS Read 節點輸出的文章連結)

步驟 3:HTML Extract 節點 (提取關鍵內文)

網頁中充滿了廣告、選單等雜訊,我們需要精準地只提取出「文章本文」這個區塊。

  • 節點類型: HTML Extract
  • Source Data: HTML
  • Extraction Values:
    • Key: articleText

    • CSS Selector: .qa-markdown > .markdown-body

      CSS 選擇器小技巧:這個選擇器是針對 ITHOME 文章頁面結構設計的。.qa-markdown 是包圍整個問答內容的區塊,而 .markdown-body 則是文章內文的精確位置。找到正確的選擇器是網頁爬蟲的關鍵,需要善用瀏覽器的開發者工具 (F12) 來觀察與測試。

    • Return Value: Text (我們只需要純文字內容)

步驟 4:IF 節點 (錯誤處理)

爬蟲並非總是成功。如果 CSS 選擇器失效,上一步的輸出可能會是空的。我們需要一個 IF 節點來處理這種情況,避免將空內容發送給 AI 浪費錢。

  • 節點類型: IF
  • 條件:
    • Value 1: {{$json.articleText}}
    • Operation: Is Not Empty

只有當 articleText 欄位不是空的時候,流程才會繼續往下走到 AI 節點。

步驟 5:OpenAI 節點 (AI 大腦核心)

這是今天最 exciting 的部分!我們將把文章內文交給 AI 進行總結。

  • 節點類型: OpenAI
  • Credential: 點擊 Create New,並填入你的 OpenAI API Key。
  • Resource: Chat
  • Operation: Completion
  • Model: 選擇一個高效且成本較低的型號,例如 gpt-3.5-turbo
  • Messages:
    • Role: User

    • Content (Prompt): 在這裡貼上我們給 AI 的指令。一個好的 Prompt 是產生好結果的關鍵。

      `text請你扮演一位資深的技術媒體編輯。請根據我提供的以下文章內容,為我產生一份條列式的繁體中文摘要,包含 3 個最重要的核心重點,並確保總字數在 200 字以內。請直接輸出重點摘要,不要包含任何開頭或結尾的問候語。

      文章內容如下:
      {{$json.articleText}}`

步驟 6:Discord 節點 (發送智慧結晶)

最後,我們將 AI 產生的摘要,連同原文標題與連結,一起發送到 Discord。

  • 節點類型: Discord (連接到 OpenAI 節點之後)
  • 使用 Embeds:
    • Title: {{$items(0).json.title}}

      表達式注意:由於資料流經多個節點,我們需要用 $items('節點名稱') 或 $items(索引) 的方式,明確指定我們要引用的是第一個節點 (RSS Read) 輸出的標題。

    • URL: {{$items(0).json.link}} (同樣,引用第一個節點的文章連結)

    • Description: {{$json.choices[0].message.content}}

      這是 OpenAI 節點輸出的標準路徑,指向 AI 生成的內容。

    • Color: 選擇一個代表「智慧」的顏色,例如 #3498DB (藍色)。


四、總結:從「資訊收集」到「知識萃取」

恭喜你!你已經成功地將 n8n 從一個只會搬運資料的「工人」,升級為一個能夠理解、分析、並總結資訊的「知識工作者」。

今天,我們不僅複習了資訊監控網頁爬蟲資料處理,更掌握了在自動化流程中整合 AI 服務的關鍵能力。這個「AI 摘要產生器」的應用框架,擁有無限的擴充潛力:

  • 會議記錄摘要:將會議的逐字稿自動餵給 AI,產生待辦事項。
  • 客服郵件分類:讓 AI 判斷客戶來信的意圖(抱怨、詢問、感謝),並自動打上標籤。
  • 程式碼註解生成:將一段程式碼交給 AI,自動產生說明文件。

Day 25 的挑戰,為你的自動化技能樹點亮了最閃耀的「AI」天賦點。從今天起,任何重複性的「閱讀」與「總結」工作,都將成為你的 n8n 機器人最擅長的表演舞台。


上一篇
Day 24:打造你的個人梗圖產生器!n8n 自動抓取 PTT 圖片直送 Discord
下一篇
Day 26:告別資訊焦慮!n8n 打造你的跨平台 AI 資訊整合總線
系列文
「解放自動化新利器!深入了解 n8n 如何助你輕鬆打造專屬工作流程」28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言