Dify v1.11.0 の目玉は「Multimodal Knowledge Base」:PDF(画像入り)をナレッジ化する Knowledge Pipeline サンプルと落とし穴(FILES_URL)
Dify v1.11.0 の主役は Multimodal Knowledge Base(画像を含むナレッジ)です。
スクショや図が多いドキュメントを「テキストだけ」ではなく、画像も“文脈の一部”として扱えるようになりました。
この記事では、
- v1.11.0 の機能ポイント(誇張なし)
- PDF(画像入り)を取り込む Knowledge Pipeline の最小サンプルノード
-
Dify Extractor実行時の ConnectError / Errno 111(Connection refused) を潰す.env設定
をまとめます。
v1.11.0:Multimodal Knowledge Base で何が変わる?
リリースノートの要点を、実務目線で噛み砕くとこうです。
1) 画像を自動で拾って「チャンクに添付」する
Markdown の画像()などを自動抽出し、対応するテキストチャンクに紐付けて添付します(画像は JPG/PNG/GIF、2MB以下が目安)。
2) Embedding の選択で “できること” が変わる
- マルチモーダル Embeddingを使う:テキスト+画像をベクトル化して、テキスト↔画像 / 画像↔画像などを狙える
- テキスト Embeddingのまま:画像は添付として残り、Vision対応LLMを使うとプロンプトに載せられる
3) Knowledge Pipeline 側に “マルチモーダル向けのモード” が追加
Knowledge Pipeline の KnowledgeBase ノードに
multimodal-Parent-Childmultimodal-General
という新しい入力形式(モード)が追加され、プラグイン側から混在モダリティを扱いやすくなっています。
Knowledge Pipeline の最小サンプル(PDFをナレッジ化:画像抽出を狙う)
Knowledge Pipeline は、「取り込み→処理→分割→インデックス化」をノードで組み立てる仕組みです。
ここでは、あなたが実際に試している構成に合わせて **“最小で動く”**を優先します。
✅ サンプルノード構成(最小)
[FILE] → [DIFY EXTRACTOR] → [GENERAL CHUNKER] → [知識ベース]
- FILE:PDFを入力
- DIFY EXTRACTOR:PDFの本文抽出+(可能なら)画像抽出して添付化
- GENERAL CHUNKER:RAG用に分割
- 知識ベース:ベクトル検索で保存
画像が本当に取れているかは、取り込み後に **チャンク詳細の Attachment(添付)**で確認します。
画像が付いていれば「抽出成功」です。
画像を回答に使うには?(LLM/設定の要点)
Vision対応LLMが必要
画像を“見て”回答させるには、アプリ側のモデルが Vision対応LLMである必要があります。
画像をURLで渡す設定にするなら FILES_URL が重要
Self-host では、マルチモーダル入力画像の送信方式として base64 / url があり、url を使う場合は FILES_URL を外部から到達可能なアドレスにする必要があります。
【ハマりどころ】Dify Extractor で Errno 111(Connection refused)になった話
遭遇したエラーはこれです。
An error occurred in the langgenius/dify_extractor/dify_extractor …
error type: ConnectError, error details: [Errno 111] Connection refused
この手のエラーは、原因として多いのが Dify Extractor(プラグイン)がファイル取得のために参照するURL(FILES_URL)が “コンテナ的に到達不能”なことです。
❌ ダメな例(よくある)
FILES_URL=http://localhost
INTERNAL_FILES_URL=http://api:5001
localhost は Extractorコンテナ自身 を指すため、Dify本体の /files/... に到達できず Connection refused になりがちです。
✅ 今回直して成功した例(Dockerでの定番)
FILES_URL=http://api:5001
INTERNAL_FILES_URL=http://api:5001
-
apiは docker-compose の サービス名(コンテナ間通信で解決できる) - 結果として
DIFY EXTRACTORがファイルに到達でき、パイプラインが正常終了
外部公開URL(https://〜)を使う構成でも、少なくとも Dify Extractorが到達できるURLになっているかは要確認です。
社内環境(Zscalor)の影響が関係しています。
取り込みが成功しているかのチェックリスト
- Pipeline の実行が成功する
- ナレッジのチャンク詳細で Attachment(添付)に画像が付いている
- (回答で使うなら)アプリ側モデルが Vision 対応
-
MULTIMODAL_SEND_IMAGE_FORMAT=urlを使うなら、FILES_URLが外部到達可能
まとめ
- Dify v1.11.0 の主役は Multimodal Knowledge Base(画像もナレッジの文脈として扱う)
- Knowledge Pipeline の最小構成は
FILE → DIFY EXTRACTOR → CHUNKER → 知識ベース -
DIFY EXTRACTORのErrno 111 Connection refusedは ノード構成より.envのFILES_URLが原因になりやすい-
FILES_URL=http://localhostは避け、コンテナ間到達できるURLにするのがコツ
-
おまけ:よくある改善アイデア
- 画像が付かないPDF(スキャンPDFなど)では、
- PDF→ページ画像化→OCR(またはVision LLMで文字起こし)
の「フォールバック」パイプラインを用意すると安定します。
- PDF→ページ画像化→OCR(またはVision LLMで文字起こし)
- 画像そのものも検索したい場合は、ナレッジ側の Embedding を マルチモーダル対応に切り替えるのがポイントです。
以上です。