《筆記》n8n 使用說明(56~61)

本章涵蓋了從 n8n 基礎操作、利用 AI 建構流程、實作 Lead Generation RAG Bot,到進階的網站爬蟲技術。

本筆記由 Gemini 撰寫,人工修改。

▌56. n8n 基礎 - 觸發器、動作與節點

  1. n8n Basics: Triggers, Actions, Nodes, Models and More

n8n 介面介紹

首先,在 n8n 中建立一個新的工作流程 (Workflow),在一個空白畫布上定義你的自動化邏輯。

核心概念:觸發器 (Triggers) 與動作 (Actions)

每個工作流程至少包含兩個步驟:

  1. 觸發器 (Step 1): 這是啟動工作流程的開關。它可以是任何東西:手動點擊、聊天輸入、表單提交、排程(例如每小時一次),或是外部事件(如 Webhook 或電子郵件)。

  2. 動作 (Step 2): 這是觸發後執行的任務。例如,收到郵件(觸發器)後,動作可能是回覆郵件。在 RAG(檢索增強生成) 的情境中,動作可能是將檔案上傳到 Google Drive,進而觸發將資料更新插入 (Upsert) 到 Pinecone 向量資料庫。

觸發器類型

n8n 支援多種觸發器:

  • 應用程式事件: Airtable, AWS, GitHub, Google Drive, Google Sheets 等。
  • 聊天觸發器 (Chat Trigger): 當使用者發送訊息時觸發(製作聊天機器人必備)。
  • 排程觸發器 (Schedule Trigger): 在特定時間間隔執行(例如每分鐘、每天)。注意:請確保時區設定正確。
  • Webhook: 允許其他應用程式(如 ChatGPT 或 Flowise)從外部觸發你的 n8n 工作流程。

資料流與 JSON

在 n8n 中,資料是從左向右流動(輸入 → 節點 → 輸出)。

n8n 主要使用 JSON 格式進行溝通。你可以點擊節點來查看「輸入」和「輸出」的 JSON 資料結構。

測試

點擊「Test Workflow」來測試流程。對於聊天流程,可以使用 n8n 提供的「Chat」介面來模擬對話。


▌57. AI 工作流程建構器

  1. n8n Workflow Builder with AI

「使用 AI 建構 (Build with AI)」功能
如果你使用的是 n8n 的雲端版本,會有一個「Build with AI」的功能。你可以描述你想做什麼(例如:「建立一個 RAG 知識助理」),背後的 LLM(推測是 Anthropic Claude)會執行以下動作:

  1. 搜尋相關節點的文件。
  2. 將節點放置在畫布上。
  3. 自動整理並連接這些節點。

這是一個很好的起點,但你仍然需要手動設定 API 金鑰(OpenAI, Pinecone 等)並微調相關參數。

如果你想看詳細版,點擊本處

介紹「用 AI 建立流程」,還提到了 n8n 的版本更新操作、介面上的其他新功能(如 Data Tables),以及講師對於這個功能的具體評價。

1. 啟用新功能的前置作業 (Prerequisites for the Update)

  • 版本更新: 如果你在介面上沒看到 “Build with AI” 的功能,你需要進入 Admin Panel (管理員面板)Manage (管理),選擇最新版本並進行更新。
  • 儲存變更: 按下 “Save changes” 並確認,系統會重新啟動。你需要等待片刻才能再次登入 Dashboard。
  • 雲端版限制: 講師特別提到,這個 AI 功能目前(影片錄製當下)僅支援 Cloud Version (雲端版)。雖然他預測未來會下放到 Local 或 Self-hosted 版本,但目前僅限雲端用戶使用。

2. 介面上的其他重要更新 (New Interface Features)

除了 AI Builder,這次更新還帶來了其他改變:

  • Evaluations (評估): 在 Editor 和 Executions 旁邊新增了 “Evaluations” 頁籤,這是一個相對較新的功能。
  • Templates (模板) 升級: 模板庫變得更豐富。
  • Data Tables (資料表): 這是一個重點更新。以前我們常需要依賴 Google Sheets 來儲存臨時資料,現在 n8n 內建了 “Data Tables”,可以直接在 n8n 內部取代 Google Sheets 的部分功能。

3. “Build with AI” 的運作邏輯 (How it Works)

講師描述了這個功能背後的運作流程,這不只是單純的「生成」:

  • 流程: 當你輸入指令(例如 “Create a RAG Knowledge Assistant”)後,背後的 LLM 會:
    1. 搜尋 n8n 官方文件中的節點資訊。
    2. 獲取節點的詳細規格。
    3. 將需要的節點丟到畫布上。
    4. 自動整理排列並建立連接線。
  • 生成的範例內容: 在影片的示範中,AI 生成了一個包含以下步驟的複雜 RAG 流程,而不僅僅是簡單的對話機器人:
    • Form Submission (表單提交)
    • Workflow Configurations (流程設定)
    • Extract content from CSV (從 CSV 提取內容)
    • Add metadata (新增詮釋資料/Metadata)
    • Vector Database (存入向量資料庫)
    • AI Agent (最後透過 AI Agent 觸發)

4. 講師的建議與評價 (Instructor’s Take)

  • 非完美但有用: AI 生成的結果並不總是完美的,有時需要微調。
  • 極佳的起點: 它可以幫你省去「從零開始拉節點」的時間,作為一個 “Starting Point” 非常棒。
  • 理解基礎仍是關鍵: 講師強調,雖然 AI 可以幫你建構,但你還是應該要理解背後的運作原理(例如什麼是 Trigger、什麼是 Action),這樣在未來除錯或優化時才能得心應手。
  • 需要手動設定: 生成後的流程,像 API Key 這種敏感資訊或是具體的參數設定,通常還是需要人工介入填寫。

▌58. 建立潛在客戶開發 RAG 機器人

  1. RAG Bot for Lead Generation Built with n8n, Pinecone & Google Sheets

總覽

在本節中,我們為一家虛構的金飾公司「Gold Digger」建立一個完整的 RAG 應用程式。目標是利用知識庫回答客戶問題,並將潛在客戶資訊(姓名、Email、電話)存入 Google Sheets。

工作流程 1:資料獲取 (Google Drive 到 Pinecone)

  1. 觸發器: Google Drive(當特定資料夾中有新檔案建立或變更時)。
  2. 下載: 從 Google Drive 下載文字檔內容。
  3. 文字分割器: 使用 Recursive Character Text Splitter(例如區塊大小 500,重疊 20)將文字切分成易於管理的片段。
  4. 嵌入 (Embeddings): 使用 OpenAI 生成嵌入向量(例如 text-embedding-3-small)。
  5. 向量儲存 (Upsert): 將向量上傳至 Pinecone(Index: “goldsmith”, Namespace: “Q&A”)。

工作流程 2:聊天機器人 (檢索與名單收集)

  1. 觸發器: Chat Trigger。
  2. AI Agent: 使用連接 OpenAI 聊天模型(如 GPT-4o)的 Tool Agent。
  3. 記憶 (Memory): 連接「Window Buffer Memory」以記住對話的前後文。
  4. 工具 1 - 向量儲存工具 (Vector Store Tool): 連接 Pinecone 索引。
    • 描述設定: 「使用此工具回答有關 Gold Digger 公司的知識問題。」
  5. 工具 2 - Google Sheets 工具: 連接 Google Sheet 表單(“Gold Digger Leads”)。
    • 動作: 新增列 (Append Row)。
    • 描述設定: 「使用此工具儲存聯絡資訊,如姓名、Email、電話號碼和興趣。」
    • 系統提示詞 (System Prompt): 指示 AI 在回答業務問題後,詢問客戶的聯絡方式,並使用此工具儲存資料。

結果: 機器人可以根據上傳的文件回答有關結婚戒指的問題,並自動提取使用者的詳細資料存入試算表。


▌59. 匯出與匯入工作流程

  1. Use my workflows: Exporting, Importing & Combining n8n Workflows as JSON Format

管理工作流程

  • 多個工作流程: 你可以在 n8n 的同一個畫布上放置多個未連接的工作流程(例如「資料獲取流程」和「聊天流程」),雖然為了清晰起見,通常建議分開存放。
  • 匯出: 你可以點擊三點選單 → Download,將工作流程下載為 JSON 檔案。
  • 匯入: 你可以直接將 JSON 檔案(例如講師提供的模板)匯入到你的 n8n 實例中。
  • 部署: 之後,這些工作流程可以託管在像 Render 這樣的平台上。

▌60. 進階 RAG 網頁爬蟲

  1. Converting a Website into a RAG Chatbot via HTML Requests & Scraping

本節重點:建立一個符合倫理、能自動遞迴抓取整個網站結構的通用型自動化流程。

將任何網站轉換為 RAG 知識庫 (Advanced Scraping Workflow)。

爬蟲工作流程

這個工作流程的核心目標是輸入一個網址(例如 flowiseai.com),然後讓 n8n 自動找出該網站下的所有子頁面,抓取內容並存入向量資料庫,且過程中必須遵守網站的爬蟲規範。

1. 網址標準化 (URL Normalization)

一切從「表單提交 (On Form Submission)」開始,當你輸入一個網址後,流程的第一步是清理網址。

  • 使用工具: 使用 GPT-4o-mini 或其他輕量模型。
  • 目的: 將網址標準化為 JSON 格式。
  • 操作細節:
    • 移除 www
    • 統一補上 https://
    • 移除網址末端不必要的查詢參數 (Query Strings) 或路徑,只保留主域名 (Base URL)。

2. 合規性檢查 (Ethical Scraping Check)

講師強烈強調不要非法爬取(例如 GitHub 或 YouTube 禁止爬蟲)。

  • 檢查 robots.txt 工作流程會自動在網址後方加上 /robots.txt 並發送請求。
    • 情境 A (有 Robots 檔): 如果網站有這個檔案(如 Flowise),流程會讀取其中的規則,並從中抓取 Sitemap 的位置。
    • 情境 B (無 Robots 檔): 如果網站沒有這個檔案,流程會嘗試猜測常見的 Sitemap 路徑(如 sitemap.xmlsitemap_index.xml)。
  • 邏輯分支: 透過 If 節點判斷是否被允許爬取。如果不允許,流程會終止或發出警告。

3. Sitemap 遞迴解析 (The Sitemap Logic)

這是整個流程最複雜也最精華的部分,因為網站的 Sitemap 結構通常有兩種:

  1. 扁平結構: XML 裡面直接就是一堆網頁連結 (url 標籤)。
  2. 巢狀結構 (Categories): XML 裡面是其他 XML 的連結(例如分類索引),需要再點進去才能看到真正的網頁。

工作流程如何處理:

  • 合併節點 (Merge Node): 講師設計了一個合併節點,無論 Sitemap 是透過 robots.txt 找到的,還是猜測到的,都會匯總到這裡。
  • XML 解析與判斷:
    • 系統會檢查 XML 內容。
    • 如果內容是 Category (分類索引):流程會進入一個迴圈,去讀取該索引下的每一個 XML 連結,再跳回前面的步驟重新解析。
    • 如果內容是 URL (最終網頁):流程會將這些連結列表輸出,準備進行真正的內容抓取。
  • 實例對比:
    • Flowise: 結構簡單,Sitemap 直接列出所有頁面連結。
    • LangChain: 結構複雜,Sitemap 包含多個子 XML(分類),流程會自動穿梭其中,抓取多達數十甚至數百個頁面。

4. 內容抓取與清洗 (Fetching & Cleaning)

當取得了網站上所有的目標網址後,流程會批次執行:

  • HTTP Request (GET): 對每一個網址發送請求,獲取原始的 HTML 內容。
  • HTML 轉 Markdown:
    • 原始 HTML 包含太多雜訊(導覽列、腳本、樣式表),直接餵給 AI 會浪費 Token 且干擾語意。
    • 流程使用轉換節點將 HTML 轉為 Markdown 格式。Markdown 對 LLM 來說是最友善的格式,結構清晰且檔案極小。
  • 內容剝離 (Strip): 進一步去除 Markdown 中的多餘空白或無意義字元。

5. 向量化與儲存 (Vectorization & Storage)

最後一步與標準的 RAG 流程相同:

  • 切塊 (Chunking): 使用 Recursive Character Text Splitter 將長篇的 Markdown 文件切分成小區塊(例如 500-1000 字元)。
  • 嵌入 (Embedding): 使用 OpenAI 的 Embedding 模型將文字轉為向量。
  • 更新插入 (Upsert): 將向量存入 Pinecone 資料庫。

總結

這個爬蟲流程的強大之處在於它的通用性。你不需要為每個網站重寫爬蟲規則,只要該網站有標準的 Sitemap,這個 n8n 流程就能自動「展開」整個網站結構,將成千上萬頁的技術文件或部落格文章,一次性轉換為你的 AI 知識庫。

簡化版說明,點擊展開

本工作流程可將任何網站轉換為 RAG 聊天機器人的知識庫。

  • 步驟 1:網址處理: 使用 GPT-4o-mini 清理網址(移除 www、查詢參數等),產生乾淨的 JSON 物件。

  • 步驟 2:Robots.txt 檢查: 始終進行合規爬取。工作流程會檢查 domain.com/robots.txt 以確認是否允許爬取。

    • 範例: Flowise 允許爬取;GitHubYouTube 通常不允許。
  • 步驟 3:Sitemap 探索: 尋找 sitemap.xml 以找出所有子頁面。

  • 步驟 4:獲取與轉換:

    • 獲取已發現網址的 HTML 內容。
    • 將 HTML 轉換為 Markdown(對 LLM 來說更乾淨)。
    • 去除不必要的標籤/雜訊。
  • 步驟 5:向量化: 將乾淨的 Markdown 切塊並更新插入 (Upsert) 到 Pinecone 向量資料庫中。

處理不同結構:

此工作流程使用「合併節點 (Merge Node)」來處理不同情況:

  • 擁有簡單 sitemap.xml 的網站(直接列出網址)。
  • 擁有巢狀 Sitemap 的網站(分類 → 網址列表)。
  • 沒有 Sitemap 的網站(如果設定了備用方案,則抓取不同連結)。

結果: 你可以輸入一個網址(如 Flowise 或 LangChain 的文件),工作流程會自動填充你的向量資料庫,讓你能夠與該網站的內容進行對話。


▌61. 章節總結

  1. Section Wrap Up of n8n

學習回顧

在本章節中,我們涵蓋了 n8n 的核心要素:

  • 安裝與設定: 包含本地安裝或使用雲端版本,以及如何更新 n8n 實例 。

  • 核心概念: 理解觸發器 (Triggers)、動作 (Actions) 以及資料處理流程 。

  • 實作專案: 我們利用 Google Drive 建立了一個 RAG 應用程式,並深入探討了網頁爬蟲技術 。

學習的哲學

講師將學習定義為「在相同情境下,展現出不同的行為」。既然你現在已經知道如何建構這些工具,與上課前相比,你的行為能力已經發生了改變 。

下一步:託管與部署

下一個章節將專注於將這些本地工作流程部署到網路上:

  • 託管 (Hosting): 我們將把應用程式託管上線,讓其他人可以從任何地方存取 。

  • 新的整合: 我們將探索像 Telegram 這樣的新觸發器 。

  • 商業應用: 託管功能讓你能夠將聊天機器人整合到客戶的網站中,開啟商業機會 。


1個讚