工作流介绍
使用 Perplexity、Gemini AI 和 Bright Data 到 Webhooks 进行网络数据搜索与摘要 – 工作流分析
此 N8n 工作流模板可自动执行以下操作:使用通过 Bright Data 的 Web Scraper 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 请求,以使用预定义的提示(“告诉我关于 BrightData”)在 Perplexity.ai 上触发搜索。 |
| 设置快照 ID | 设置 | 存储初始触发器返回的 snapshot_id,供后续轮询和下载使用。 |
| 检查快照状态 | HTTP 请求 | 通过查询进度来轮询 Bright Data API,以检查快照生成是否完成。 |
| 如果(状态检查) | 如果条件 | 检查响应中的 status 字段是否等于 "ready";据此路由执行。 |
| 等待 | 等待 | 如果尚未准备好,则暂停执行 30 秒,然后重试状态检查。 |
| 检查错误 | 如果条件 | 在继续下载之前验证 errors 计数是否为零。 |
| 下载快照 | HTTP 请求 | 使用 snapshot_id 从 JSON 格式检索完成的快照的完整 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
Set Snapshot Id节点将上一个响应中的snapshot_id保存起来以供重用。
-
轮询完成状态
Check Snapshot Status请求.../progress/{snapshot_id}的进度。- If 节点检查
status === "ready":- 如果为 true → 继续。
- 如果为 false → 触发 Wait (30s) → 循环回以重新检查状态。
-
错误验证
- 状态就绪后,另一个 If 节点检查
errors.toString() === "0"。 - 确保在继续下载之前抓取过程中没有发生错误。
- 状态就绪后,另一个 If 节点检查
-
下载最终结果
- 在成功验证后,从
.../snapshot/{snapshot_id}以 JSON 格式下载快照。
- 在成功验证后,从
-
提取可读内容
answer_html字段被传递给 Readable Data Extractor。- 由 Google Gemini Flash Exp 提供支持,它从嘈杂的 HTML 中提取干净、可读的文本。
-
准备摘要
- 提取的文本被馈送到 Summarization Chain。
- 在摘要之前,它会经过:
- Recursive Character Text Splitter → 将大文本分割成块。
- Default Data Loader → 将拆分后的文本加载为 AI 就绪文档。
-
生成摘要
- Summarization of search result 节点使用第二个 Gemini 模型(
thinking-exp)来创建连贯的高层摘要。
- Summarization of search result 节点使用第二个 Gemini 模型(
-
通过 Webhook 发送输出
- 最终摘要(
$json.output)通过 POST 发送到https://webhook.site/...。 - 可以替换为任何所需的端点(例如,Slack、Airtable、自定义 API)。
- 最终摘要(
此工作流例证了 n8n 如何将低代码自动化与强大的 AI 功能相结合,将原始 Web 数据转化为智能输出——使其成为希望扩展信息处理工作流的开发人员、研究人员和业务分析师的理想选择。
使用方法:下载 JSON 文件,然后在 n8n 中选择“从文件导入”。