Difyとn8nでHPをスクレイピング!会社レポート作成入門
学習ポイント
- プログラミングにおける「配列(リスト)」の概念とDifyでのデータの持ち回り方
- パラメーター抽出ブロックやリスト調整ブロックを使用したデータの絞り込み手法
- イテレーションブロックを用いた、複数URLへの繰り返しスクレイピングとLLM処理の実装
Difyにおけるデータの受け渡しと、効率的な繰り返し処理について詳しく解説します。特に複数の情報を一度に処理するワークフローの構築に不可欠なステップを学びます。
配列(リスト)と変数の基礎概念
プログラムやAIは、1行の処理が終わると前の情報を忘れてしまう「記憶の保持」が苦手な性質があります。そのため、データを「変数」に格納して持ち回る必要があります。特に「配列(Array)」は、出席番号で管理される名簿や電車の車両のように、複数のデータを一つの「束」として順番に管理する仕組みです。Difyでは、検索結果などの複数URLをこの「配列」として扱うことで、一括処理が可能になります。
主要ブロックの役割と設定方法
**パラメーター抽出ブロック**: 大量のテキストデータ(検索結果など)から、URLや特定のキーワードだけを抽出するために使用します。出力されるデータの型(String型のアレイなど)を意識することが重要です。
**リスト調整ブロック**: 抽出されたリストから「上位3件のみを取得する」といったデータの絞り込みや、並び替えを行います。
**イテレーションブロック**: 配列に含まれるデータの数だけ、内部の処理を自動で繰り返します。例えば、3つのURLがあれば、3回ウェブスクレイパーとLLMを起動させ、それぞれの内容を解析させます。
企業レポート自動生成ワークフローの実践
1. **開始ブロック**: 変数名「CompanyName」を設定し、ユーザーから調査対象の企業名を受け取ります。
2. **検索API**: 入力された企業名を元にウェブ検索を実行します。
3. **抽出・抽出**: 検索結果からURLのみを抽出し、リスト調整で対象を絞り込みます。
4. **イテレーション内部**: 各URLに対して「ウェブスクレイパー」を実行し、サイト内容を読み取ります。その後、LLM(GPT-4等)が「企業レポート」をマークダウン形式で作成します。
5. **終了ブロック**: 最終的なレポートを出力します。
ツール・サービス
**Dify**: ノーコードAIワークフロー構築プラットフォーム
**Tavily Search**: AI向けの検索最適化API(Google Search APIの代替として紹介)
**LLM(GPT-4o/Mini)**: 抽出およびレポート生成のエンジンとして使用