워크플로 소개
Perplexity, Gemini AI 및 Bright Data를 사용하여 웹 데이터를 검색 및 요약하고 웹훅으로 보내기 – 워크플로 분석
이 N8n 워크플로 템플릿은 Bright Data의 웹 스크레이퍼 API를 통한 Perplexity를 사용하여 웹에서 정보를 검색하고, Google Gemini AI를 사용하여 HTML 응답에서 읽을 수 있는 콘텐츠를 추출하고, LangChain 기반 요약 체인을 통해 추출된 데이터를 요약하는 프로세스를 자동화합니다. 최종 요약된 출력은 웹훅 알림을 통해 외부 서비스로 전송됩니다. AI 기반 데이터 추출 및 처리를 위해 설계된 이 워크플로는 n8n 자동화 플랫폼 내에서 웹 스크래핑, 언어 모델 및 조건부 로직 간의 고급 통합을 보여줍니다.
워크플로의 기능
워크플로는 Perplexity.ai(Bright Data의 데이터셋 트리거 시스템을 통해)에서 검색 쿼리를 시작하고, 결과 스냅샷이 준비될 때까지 기다린 후, 다운로드하고, Google Gemini를 사용하여 HTML 응답에서 깨끗하고 사람이 읽을 수 있는 텍스트를 추출하고, 다른 Gemini 모델을 사용하여 콘텐츠를 요약한 다음, 마지막으로 요약본을 구성 가능한 웹훅 엔드포인트로 보냅니다. 자동화된 연구 작업의 견고성과 정확성을 보장하기 위해 오류 처리, 폴링 메커니즘 및 구조화된 AI 처리가 포함됩니다.
비정형 웹 콘텐츠를 간결하고 실행 가능한 요약으로 효과적으로 전환하여 경쟁 정보, 시장 조사 또는 지식 집계 시스템에 이상적입니다.
주요 기능 및 역량
- 자동화된 웹 연구: Bright Data의 API를 사용하여 Perplexity에서 실시간 검색을 트리거합니다.
- AI 기반 콘텐츠 추출: Google Gemini를 사용하여 복잡한 HTML에서 관련 "읽을 수 있는 콘텐츠"만 추출합니다.
- 문서 요약: LangChain의 요약 체인과 Gemini Flash 모델을 활용하여 압축된 인사이트를 생성합니다.
- 폴링 메커니즘: 스크레이퍼가 완료된 스냅샷을 반환할 때까지 작업 상태를 확인하는 루프를 구현합니다.
- 오류 처리: 다운로드하기 전에 스크래핑 중에 오류가 발생했는지 평가합니다.
- 웹훅 통합: HTTP POST를 통해 최종 결과를 외부 시스템으로 출력합니다.
- 모듈식 AI 노드 사용: LLM 체인, 문서 로딩 및 텍스트 분할을 위해
@n8n/nodes-langchain노드를 사용합니다. - 자격 증명 관리: Bright Data 및 Google Gemini API 모두에 대해 저장된 자격 증명을 안전하게 사용합니다.
주요 노드 및 목적
| 노드 이름 | 유형 | 목적 |
|---|---|---|
| '워크플로 테스트' 클릭 시 | 수동 트리거 | 테스트 목적으로 워크플로를 수동으로 시작합니다. |
| Perplexity 검색 요청 | HTTP 요청 | 미리 정의된 프롬프트(tell me about BrightData)로 Perplexity.ai에서 검색을 트리거하기 위해 Bright Data의 API에 POST 요청을 보냅니다. |
| 스냅샷 ID 설정 | 설정 | 폴링 및 다운로드를 위해 나중에 사용할 초기 트리거에서 반환된 snapshot_id를 저장합니다. |
| 스냅샷 상태 확인 | HTTP 요청 | 진행 상황을 쿼리하여 스냅샷 생성이 완료되었는지 확인하기 위해 Bright Data API를 폴링합니다. |
| 만약 (상태 확인) | 만약 조건 | 응답의 status 필드가 "ready"와 같은지 확인하고 그에 따라 실행을 라우팅합니다. |
| 대기 | 대기 | 아직 준비되지 않은 경우 상태 확인을 다시 시도하기 전에 30초 동안 실행을 일시 중지합니다. |
| 오류 확인 | 만약 조건 | 다운로드를 진행하기 전에 errors 수가 0인지 확인합니다. |
| 스냅샷 다운로드 | HTTP 요청 | snapshot_id를 사용하여 완료된 스냅샷의 전체 JSON 결과를 검색합니다. |
| 읽을 수 있는 데이터 추출기 | 정보 추출기 (LangChain) | Google Gemini를 사용하여 answer_html을 구문 분석하고 "읽을 수 있는 콘텐츠"만 일반 텍스트로 추출합니다. |
| Google Gemini 채팅 모델1 | LLM 노드 | 데이터 추출기( gemini-2.0-flash-exp 사용)에 대한 언어 모델 백엔드를 제공합니다. |
| 검색 결과 요약 | 요약 체인 (LangChain) | 정리된 텍스트를 가져와 문서 로더 패턴을 사용하여 간결한 요약을 생성합니다. |
| 기본 데이터 로더 | 문서 로더 (LangChain) | 처리된 문서를 요약 체인에 공급합니다. |
| 재귀적 문자 텍스트 분할기 | 텍스트 분할기 (LangChain) | 긴 텍스트를 관리 가능한 청크(100자 겹침)로 분할하여 준비합니다. |
| Google Gemini 채팅 모델 | LLM 노드 | 요약 체인(실험적인 gemini-2.0-flash-thinking-exp-01-21 모델 사용)에 대한 LLM 엔진을 공급합니다. |
| 웹훅 알림 | HTTP 요청 | 최종 output(요약)을 외부 URL(webhook.site 플레이스홀더)로 보냅니다. |
| 고정 메모 | 주석 | 자격 증명을 설정하거나 흐름 논리를 이해하는 사용자를 위해 캔버스 내에서 문서 및 지침을 제공합니다. |
사용 사례 및 이점
사용 사례:
- 시장 정보 수집: 경쟁사 분석, 제품 리뷰 또는 산업 동향을 자동으로 요약합니다.
- 콘텐츠 집계 시스템: 온라인 기사 또는 Q&A 플랫폼을 가져와 압축하여 내부 지식 기반을 구축합니다.
- 연구 자동화: 수동 브라우징 및 노트 작성을 AI 기반 검색 및 요약 파이프라인으로 대체합니다.
- 리드 생성 및 아웃리치 준비: 아웃리치 전에 회사 또는 개인에 대한 배경 정보를 신속하게 수집합니다.
- 뉴스 모니터링: Perplexity 큐레이션 답변과 같은 소스에서 브랜드, 기술 또는 이벤트 언급을 추적합니다.
이점:
- 시간 효율성: 수 시간의 수동 읽기 및 요약을 제거합니다.
- 정확성: AI는 의미 있는 콘텐츠만 유지되고 요약되도록 합니다.
- 확장성: 여러 쿼리에 대해 예약하거나 일괄 처리할 수 있습니다.
- 통합 용이성: 웹훅을 통해 제공되는 출력은 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}에서 진행 상황을 요청합니다.- 만약 노드는
status === "ready"인지 확인합니다.- 참이면 → 진행합니다.
- 거짓이면 → **대기(30초)**를 트리거하고 → 상태를 다시 확인하기 위해 루프백합니다.
-
오류 유효성 검사
- 상태가 준비되면 다른 만약 노드는
errors.toString() === "0"인지 확인합니다. - 계속 진행하기 전에 스크래핑 중에 오류가 발생하지 않았는지 확인합니다.
- 상태가 준비되면 다른 만약 노드는
-
최종 결과 다운로드
- 유효성 검사가 성공하면
.../snapshot/{snapshot_id}에서 JSON 형식으로 스냅샷을 다운로드합니다.
- 유효성 검사가 성공하면
-
읽을 수 있는 콘텐츠 추출
answer_html필드가 읽을 수 있는 데이터 추출기로 전달됩니다.- Google Gemini Flash Exp를 통해 노이즈가 많은 HTML에서 깨끗하고 읽을 수 있는 텍스트를 분리합니다.
-
요약을 위한 준비
- 추출된 텍스트가 요약 체인에 공급됩니다.
- 요약하기 전에 다음을 통과합니다.
- 재귀적 문자 텍스트 분할기 → 큰 텍스트를 청크로 분할합니다.
- 기본 데이터 로더 → AI 준비 문서로 분할된 텍스트를 로드합니다.
-
요약 생성
- 검색 결과 요약 노드는 두 번째 Gemini 모델(
thinking-exp)을 사용하여 일관성 있고 수준 높은 요약을 생성합니다.
- 검색 결과 요약 노드는 두 번째 Gemini 모델(
-
웹훅을 통한 출력 전송
- 최종 요약(
$json.output)은 POST를 통해https://webhook.site/...로 전송됩니다. - 원하는 엔드포인트(예: Slack, Airtable, 사용자 지정 API)로 바꿀 수 있습니다.
- 최종 요약(
이 워크플로는 n8n이 로우코드 자동화와 강력한 AI 기능을 결합하여 원시 웹 데이터를 지능적인 출력으로 변환하는 방법을 보여줍니다. 이는 정보 처리 워크플로를 확장하려는 개발자, 연구원 및 비즈니스 분석가에게 이상적입니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.