2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dify】PDFを画像にしてVQAで自動解説するワークフローを作ってみた

Posted at

初めに

Dify のワークフロー機能を使えば、PDF の各ページを画像にして、LLM に読み込ませ、自然言語で質問・回答する VQA(Visual Question Answering) をノーコードで実現できます。
今回は「PDF → 画像に変換 → LLM 解説 → 回答出力」までの最短構成をご紹介します。


✅ 完成イメージ

全体フロー


🛠 事前準備(Dify の外部公開ポート設定)

Docker Compose で Dify を起動している場合、PDF 内の画像を外部から取得するための URL が必要です。
docker-compose.override.yaml.env を修正してポートを公開しておきましょう。

cd dify/docker
# .env
FILES_URL=http://xxx.xxx.xxx.xxx:5001
# docker-compose.override.yaml
services:
  api:
    ports:
      - '${DIFY_PORT:-5001}:${DIFY_PORT:-5001}'

🧩 ステップ 1:開始ノードを作成

  1. 新規ワークフローを作成
  2. 開始ノードはデフォルトのまま

開始ノード


🧩 ステップ 2:PDF → PNG 変換ノード

  1. PDF to PNG Converter ノードを追加
  2. パラメータを以下のように設定
パラメータ
PDF Content 開始/sys.Files
Zoom Factor 2(高解像度化)

PDF to PNG Converter

補足
このノードは PDF の 各ページを PNG に変換 し、画像ファイルとして後続ノードに渡します。
現状の制約として、最後の 1 枚だけが LLM に処理される 動作になっています。(別記事で複数画像を処理すること掲載する予定です)


🧩 ステップ 3:LLM ノードで画像を読み込ませる

  1. LLM ノードを追加
  2. モデルは VQA に対応したもの(例:llama-4-scout)を選択
  3. プロンプト例
画像の内容を日本語で説明してください

LLM ノード


🧩 ステップ 4:回答ノードで結果を出力

  1. 回答 ノードを追加
  2. 入力を LLM の text に設定

回答ノード


🧪 テスト実行

  • ファイル:任意の PDF(例:5090_32GB.pdf
  • クエリ画像の内容を日本語で説明してください

実行すると、PDF の最終ページの画像が LLM に渡され、日本語で解説されたテキストが返却されます。

全体フロー


📝 まとめ

項目 内容
所要時間 約 5 分
ノード数 開始・変換・LLM・回答 の 4 つ
現状の注意点 最後の 1 枚のみ LLM に処理される
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?