ファイルアップロードとテキスト抽出のワークフロー
1. 目的
添付ファイルを付加してその文書とともに質問して回答を返すDifyアプリのサンプルです。
2. ワークフロー構成
以下の順にノードを配置します。
- 開始
- テキスト抽出
- LLM(選択したモデル)
- 回答
3. 機能設定(ファイルアップロード有効化)
- アプリ編集画面を開きます。
- 右上メニューの 「機能」 をクリック。
- 「ユーザー入力機能」から 「ファイルアップロード」 を有効化。
-
ドキュメント を選択し、許可する拡張子(PDF, DOCX, TXT など)を設定。
- 例: PDF のみ許可 →
pdf - 複数許可 →
pdf, docx, txt
- 例: PDF のみ許可 →
この設定を行わないと、ユーザーはファイルを送信できません。
4. ノード構成と設定
(1) 開始ノード
- ユーザーからの入力(テキスト+ファイル)を受け取ります。
(2) テキスト抽出ノード
- 入力変数:
{{sys.files}} - 「ドキュメントタイプ」で PDF / DOCX / TXT などを選択。
(3) LLMノード
- 利用するモデルを選択(例: SysmacCopilot, GPT-4o)。
- 入力:
{{テキスト抽出.text}} - プロンプト例:
以下の文章を要約してください。 {{テキスト抽出.text}}
(4) 回答ノード
- 出力:
{{LLM.text}}
5. 入力サンプル(ユーザー操作)
ユーザー入力例
このPDFを要約してください。
[添付ファイル: sample.pdf]
処理フロー
- 開始ノードで PDF を受け取る
- テキスト抽出ノードで本文を抽出
- LLM ノードで要約を実行
- 回答ノードで結果を返す
期待される応答例
アシスタント:
この文書の要点は以下のとおりです。
- 背景:…
- 主な内容:…
- 結論:…
6. 注意点
- 画像ファイル(jpg/png) をアップロードするとエラーになります。
- テキスト抽出ノードのドキュメントタイプを必ず選択してください。
以上。

