第38話:【実践】100枚一括!PDFを丸裸にする自動要約アプリ構築ガイド

山積みの書類が「AI Magic Box」と書かれた青く光るアイコンを通り、Dify風のワークフロー(Iterationブロックなど)を経て、整理された要約カードへと変換される様子を描いた3Dイラスト。下部には「PDF 100枚を3行に。Difyで『自分専用AI』を自作する実践ガイド」というキャッチコピーが配置されています。 Uncategorized

前回ご紹介した「一括処理の快感」を、実際にあなたの手で作ってみましょう。

今回は、複数のPDFを一気に読み込み、AIが次々と中身を要約してくれる「最強の事務アシスタント」を構築します。


ステップ1:アプリの「器」を作る

  1. Difyの「スタジオ」からアプリを作成するをクリックします。
  2. ワークフローを選択し、名前を「一括PDF要約マシン」にして作成します。
    まずは全体像を把握してもらう為に完成図の画像です

Difyで作成された、PDFファイルを読み込んでGPT-4で繰り返し処理を行うワークフローの構成図。ユーザー入力、繰り返し処理(テキスト抽出とLLM)、最終出力の3ステップが可視化されている。

ステップ2:複数ファイルを受け取る「入り口」の設定

  1. 左端の開始ブロックをクリックします。
  2. 「入力フィールド」の「+」を押し、タイプは必ず**ファイルリスト(File List)**を選択します。
    • ※これが「まとめて放り込む」ための重要な設定です。
  3. 変数名を filesにし、許可するタイプに「ドキュメント」と「画像」をチェックします。

Difyの入力フィールド編集画面。フィールドタイプを「ファイルリスト」に設定し、変数名を「files」、ラベルを「PDFをアップロード」としている様子。画面上部には「ここをファイルリストに」という赤い注釈がある。

ステップ3:【最重要】「イテレーション」ブロックを設置する

ここが、Dify構築で初心者が最も迷いやすい「運命の分かれ道」です。

  1. 「開始」ブロックの右隣にある「+」ボタンを押します。
  2. ブロック一覧から**イテレーション(Iteration)**を探してクリックします。

⚠️ ここで絶対に間違えないでください!

同じメニュー内に「リスト処理」というブロックもありますが、役割が違います。

  • イテレーション:同じ作業を「繰り返す」ためのブロック(今回使用)
  • リスト処理:データを並べ替えたり整理したりするブロック(今回は不使用)
  1. 追加されたイテレーションブロックの「入力」欄で、ステップ2で作った file_list を選択します。

解説: 画面に現れた「大きな灰色の枠」が作業部屋です。この中に入れた作業を、AIはファイルの数だけ自動で繰り返します。


ワークフローの繰り返し処理(イテレーション)において、入力データとして前のステップで設定したファイルリスト(files)を紐付けている設定画面。

ステップ4:イテレーションの「枠の中」を完成させる

ここからは、**イテレーション枠の中にある「+」**を押して、作業を追加していきます。

### ① テキスト抽出(AIの目)

  1. 枠内の「+」を押し、テキスト抽出を追加します。
  2. 入力変数には、イテレーション > item を選択してください。
    • ※itemは、今AIが手に持っている「その1枚」を指します。
Difyのワークフロー内にある「テキスト抽出」ノードの設定画面。

全体像: イテレーションブロックの中に配置された「テキスト抽出」ノードが選択されている。

設定のポイント: 右側の設定パネル、「入力変数」の項目に赤い矢印と「ここを入力」という注釈がある。

変数の選択: 入力変数として、イテレーションから渡される item File が指定されている。

説明: サポートされているファイルタイプとして、PDF、DOCX、Markdownなどのリストが表示されている。

② LLM(AIの頭脳)

  1. 抽出の隣にLLMを追加し、モデル(gpt-4o等)を選びます。
  2. 「コンテキスト」欄をクリックし、直前のテキスト抽出 / textを選択します。
  3. 「SYSTEM(指示)」欄に以下を入力します。

以下のテキストは、PDFから抽出された内容です。 {{#context#}} この内容を読み、重要なポイントを3行で要約してください。

💡 設定のコツ

変数を入れるときは、プロンプト枠の右上にある**「{x}」マーク**を押して、一覧から選ぶのが一番速くて確実です!

③ イテレーションの「出口」設定

  1. イテレーションブロック自体の設定画面下部にある「出力」を確認します。
  2. ここでも {x} を使い、LLM / text(要約結果)を選択します。
    • ※これで1枚ごとの成果が、最後にまとめるための「束」に送られます。

Difyの「LLM 2」ノードの設定画面。右側の設定パネルにて、AIモデルに gpt-4 が選択されています。「コンテキスト」項目に赤い矢印と「ここを入力」という注釈があり、テキスト抽出 / text String が指定されています。また、SYSTEMプロンプト入力欄の右端にある変数挿入ボタンを指して「変数はここから」という赤い注釈が添えられています。

ステップ5:結果をまとめて表示する「出力」の設定

  1. イテレーション枠の**外側(右側)**にある「+」を押し、**出力(End)**ブロックを追加します。
  2. 「出力変数」の {x} を押し、イテレーション / output_it_list を選択します。

Difyのワークフローの最終ステップである「出力」ノードの設定画面。右側の設定パネルの「出力変数」項目に、赤い文字で「ここを入力」という注釈と右向きの赤い矢印があります。

出力変数設定: 左側のキー名は output、右側の値には イテレーション / output Array[String] という変数が指定されています。

ステップ6:公開とテスト実行

  1. 画面右上の公開する更新をクリックします。
  2. アプリを実行から操作画面を開きます。
  3. PDFや画像を数枚まとめてアップロードして実行してください。

数秒後、AIが次々と処理を終え、きれいに整理された要約リストが現れます!


第38話の締めくくり:あなたはもう「AI使い」です

お疲れ様でした!これで「100枚の書類を一瞬で丸裸にする自動要約アプリ」の完成です。

最近某刑事ドラマにはまっていたのでこのタイトル付けちゃいました。
作業内容は割とシンプルだったと思います。

たったこれだけで、かつて数万円払って外注していたようなシステムが、

あなたの手で動き出しました。事務作業に追われる毎日は、今日で卒業です。

次回は、質問分類器ブロックについて解説します。どうぞお楽しみに!

コメント

タイトルとURLをコピーしました