工作流介紹
使用 Perplexity、Gemini AI 和 Bright Data 搜尋與摘要網頁資料至 Webhooks – 工作流程分析
此 N8n 工作流程範本可自動化使用透過 Bright Data 的網頁抓取器 API 的 Perplexity 搜尋網路資訊的過程,使用Google Gemini AI 從 HTML 回應中提取可讀內容,並透過 LangChain 支援的摘要鏈對提取的資料進行摘要。最終的摘要輸出隨後透過webhook 通知傳送至外部服務。此工作流程專為 AI 增強的資料提取和處理而設計,展示了 n8n 自動化平台中網頁抓取、語言模型和條件邏輯之間的進階整合。
工作流程功能
工作流程會在 Perplexity.ai (透過 Bright Data 的資料集觸發系統) 上啟動搜尋查詢,等待結果快照準備就緒,下載它,使用 Google Gemini 從 HTML 回應中提取乾淨、人類可讀的文字,使用另一個 Gemini 模型摘要內容,最後將摘要傳送至可設定的 webhook 端點。它包含錯誤處理、輪詢機制和結構化 AI 處理,以確保自動化研究任務的穩健性和準確性。
它有效地將非結構化的網頁內容轉化為簡潔、可操作的摘要,非常適合競爭情報、市場研究或知識匯總系統。
主要功能與能力
- 自動化網頁研究: 使用 Bright Data 的 API 在 Perplexity 上觸發即時搜尋。
- AI 驅動的內容提取: 使用 Google Gemini 從複雜的 HTML 中提取相關的「可讀內容」。
- 文件摘要: 利用 LangChain 的摘要鏈與 Gemini Flash 模型生成精簡的洞察。
- 輪詢機制: 實施一個迴圈,檢查作業狀態,直到抓取器返回完成的快照。
- 錯誤處理: 在繼續下載之前評估抓取過程中是否發生錯誤。
- Webhook 整合: 透過 HTTP POST 將最終結果輸出到任何外部系統。
- 模組化 AI 節點使用: 展示了如何使用
@n8n/nodes-langchain節點進行 LLM 鏈接、文件載入和文字分割。 - 憑證管理: 安全地使用 Bright Data 和 Google Gemini API 的已儲存憑證。
主要節點及其用途
| 節點名稱 | 類型 | 用途 |
|---|---|---|
| 點擊「測試工作流程」時 | 手動觸發 | 出於測試目的手動啟動工作流程。 |
| Perplexity 搜尋請求 | HTTP 請求 | 向 Bright Data 的 API 發送 POST 請求,以使用預定義的提示 (tell me about BrightData) 觸發 Perplexity.ai 上的搜尋。 |
| 設定快照 ID | 設定 | 儲存初始觸發器返回的 snapshot_id,供後續輪詢和下載使用。 |
| 檢查快照狀態 | HTTP 請求 | 透過查詢進度來輪詢 Bright Data API,以檢查快照生成是否完成。 |
| 如果 (狀態檢查) | 如果條件 | 檢查回應中的 status 欄位是否等於 "ready";據此路由執行。 |
| 等待 | 等待 | 如果尚未準備好,則暫停執行 30 秒,然後重試狀態檢查。 |
| 檢查錯誤 | 如果條件 | 在繼續下載之前驗證 errors 計數是否為零。 |
| 下載快照 | HTTP 請求 | 使用 snapshot_id 檢索完成快照的完整 JSON 結果。 |
| 可讀資料提取器 | 資訊提取器 (LangChain) | 使用 Google Gemini 解析 answer_html 並僅提取「可讀內容」作為純文字。 |
| Google Gemini Chat Model1 | LLM 節點 | 為資料提取器提供語言模型後端 (使用 gemini-2.0-flash-exp)。 |
| 搜尋結果摘要 | 摘要鏈 (LangChain) | 使用乾淨的文字,透過文件載入器模式生成簡潔的摘要。 |
| 預設資料載入器 | 文件載入器 (LangChain) | 將處理過的文檔饋送到摘要鏈中。 |
| 遞迴字元文字分割器 | 文字分割器 (LangChain) | 透過將長文本分割成可管理的塊 (重疊 100 個字元) 來準備長文本。 |
| Google Gemini Chat Model | LLM 節點 | 為摘要鏈提供 LLM 引擎 (使用實驗性的 gemini-2.0-flash-thinking-exp-01-21 模型)。 |
| Webhook 通知器 | HTTP 請求 | 將最終的 output (摘要) 透過 POST 發送到外部 URL (webhook.site 佔位符)。 |
| 便條紙 | 註釋 | 在畫布內提供文件和指導,供使用者設定憑證或理解流程邏輯。 |
用途與優勢
用途:
- 市場情報收集: 自動摘要競爭對手分析、產品評論或行業趨勢。
- 內容匯總系統: 透過提取和精簡線上文章或問答平台來建立內部知識庫。
- 研究自動化: 用 AI 驅動的搜尋和摘要管道取代手動瀏覽和筆記。
- 潛在客戶開發與外展準備: 在外展之前快速收集公司或個人的背景資訊。
- 新聞監控: 追蹤 Perplexity 策劃的答案等來源中品牌、技術或事件的提及。
優勢:
- 時間效率: 省去數小時的手動閱讀和摘要時間。
- 準確性: AI 可確保僅保留有意義的內容並進行摘要。
- 可擴展性: 可以安排或批量觸發以處理多個查詢。
- 易於整合: 透過 webhook 輸出的結果可以連接到 Slack、CRM、資料庫或電子郵件引擎。
- 錯誤彈性: 內建的迴圈和條件可防止因時序問題或暫時性錯誤而導致的失敗。
分步工作流程邏輯
-
觸發執行
- 使用者點擊「測試工作流程」→ 啟動手動觸發節點。
-
啟動搜尋查詢
- 向
https://api.brightdata.com/datasets/v3/trigger發送 POST 請求,包含:- 目標 URL:
https://www.perplexity.ai - 提示:「
tell me about BrightData」 - 國家:「
US」 - 包含資料集 ID 和身份驗證標頭。
- 目標 URL:
- 回應包含
snapshot_id。
- 向
-
儲存快照 ID
設定快照 ID節點儲存上一個回應中的snapshot_id以供重複使用。
-
輪詢完成情況
檢查快照狀態在.../progress/{snapshot_id}處請求進度。- If 節點檢查
status === "ready":- 如果為 true → 繼續。
- 如果為 false → 觸發 等待 (30 秒) → 迴圈回重試狀態檢查。
-
錯誤驗證
- 狀態就緒後,另一個 If 節點檢查
errors.toString() === "0"。 - 確保在繼續下載之前抓取過程中沒有發生錯誤。
- 狀態就緒後,另一個 If 節點檢查
-
下載最終結果
- 在成功驗證後,以 JSON 格式從
.../snapshot/{snapshot_id}下載快照。
- 在成功驗證後,以 JSON 格式從
-
提取可讀內容
answer_html欄位傳遞給 可讀資料提取器。- 由 Google Gemini Flash Exp 提供支援,它從雜亂的 HTML 中分離出乾淨、可讀的文本。
-
準備摘要
- 提取的文本被饋送到 摘要鏈。
- 在摘要之前,它會經過:
- 遞迴字元文字分割器 → 將大文本分割成塊。
- 預設資料載入器 → 將分割後的文本載入為 AI 就緒文件。
-
生成摘要
- 搜尋結果摘要 節點使用第二個 Gemini 模型 (
thinking-exp) 來創建一個連貫、高層次的摘要。
- 搜尋結果摘要 節點使用第二個 Gemini 模型 (
-
透過 Webhook 發送輸出
- 最終摘要 (
$json.output) 透過 POST 發送到https://webhook.site/...。 - 可以替換為任何所需的端點 (例如,Slack、Airtable、自訂 API)。
- 最終摘要 (
此工作流程例證了 n8n 如何將低程式碼自動化與強大的 AI 功能相結合,將原始網頁數據轉化為智慧輸出——非常適合希望擴展其資訊處理工作流程的開發人員、研究人員和業務分析師。
使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。