1. はじめに
2025年12月にDify(v1.11.0以降)でマルチモーダルRAGのナレッジベース作成が可能になりました。
遅れながら試しにマルチモーダルRAGへ画像情報を登録して、チャットボットからRAGの画像情報を回答できるか試してみたいと思います。
やることはシンプル。
- サンプル画像が含まれたデータセットでナレッジベースを作成
- ナレッジベースから回答するAIチャットボットを作成
- AIチャットボットにナレッジベースの画像情報についてアレコレ質問
今回は私がお世話になっているサイゼリヤの間違い探しの画像をデータセットとして使ってみます。
実行環境
- Dify セルフホスト版(バージョン 0.1.13)
- docker compose
- AWS Bedrock
- モデル:anthropic.claude-sonnet-4-6
- 埋め込みモデル:amazon.nova-2-multimodal-embeddings-v1:0
2. やってみる
まず、サイゼリヤのサイトから間違い探しの画像を7枚取得してデータセットを作ります。
※データセットは画像とタイトルとセットで貼っただけです。
2.1 ナレッジベース作成
Difyのナレッジページから、「ナレッジベースを作成」を押下

今回はデータセットをPDFにしたので、テキストファイルからを選択して、次へを押下
(チャンクの分割がうまくいかなかったので、試すときはWordファイルにしました。PDFもWordもナレッジベースの作成方法は同じです。)

チャンク設定はデフォルトで、
インデックス方法は高品質を選択して、埋め込みモデルを選択する。

検索セットは、Bedrockにマルチモーダルに対応した再ランキングモデルがなかったため、ウェイト設定をデフォルトで利用しています。
「保存して処理」ボタンを押下すると、ナレッジベースが作成される!
はずでしたが、ステータスがエラーになってしまいました。

エラー対応
ここからはステータスのエラーの解消パートなので、
エラーが出なかった人は、スキップして下さい。

インデックスの作成に失敗した理由を確認してみると、以下のメッセージが表示されました。
Could not connect to Weaviate:Connection to Weaviate failed. Details: .
翻訳すると、どうやらWeaviateへの接続設定が悪さしているようです。
Weaviate に接続できませんでした: Weaviate への接続に失敗しました。詳細: .
どうやら原因は、「Weaviate のデータディレクトリを ホスト側ディレクトリへの bind mount で割り当てていたことが原因」のようです。
調べたところ、Difyのコミュニティサイトに私と同じエラーが出ていたので参考にさせていただきました。
対処方法としては、docker-compose.yamlの設定を修正します。
修正箇所
weaviate:
image: semitechnologies/weaviate:1.27.0
profiles:
- weaviate
restart: always
volumes:
- - ./volumes/weaviate:/var/lib/weaviate
+ - weaviate_data:/var/lib/weaviate
# ファイル末尾
volumes:
+ weaviate_data:
設定を保存したら、コンテナの再起動を実施して下さい。
docker compose down && docker compose up -d
Difyの画面に戻って、インデックスの再作成をしたら、利用可能状態になりました。

2.2 チャットボット作成
では作成したナレッジベースをサクッとチャットボットに組み込んでいきましょう。
コンテキストから「追加」ボタンを押下して、ナレッジベースを追加

以上で、チャットボットの作成は完了です。
2.3 AIチャットボットにナレッジベースの画像情報を聞く
2.3.1 間違い探しを解いてもらう
画像からタイトルの取得はできてますね。
肝心の間違い探しについては、「子どもの服の色が異なる」と「タイルの模様が異なる」はおそらく合ってます。左下の作業員「表情が異なる」とかそれっぽい違いを答えてますが、残り8個は間違ってます。

2.3.2 タイトルから対象の画像を出力してもらう
タイトルを入力したら、ちゃんとナレッジベースから画像が出力されました!
チャット中に画像を出力させるにはマークダウンの画像埋め込み形式()で出力させる必要があります。うまくいかない場合はプロンプトを見直してみて下さい。

感想
DifyのマルチモーダルRAGをサクッと作って試してみました。
今までデータソースの画像情報について聞くことができなかったことを考えると待望の機能と言えます。
間違い探しの画像のように細かいところを聞くとなると埋め込みモデルの精度とかが影響しそうなので、埋め込みモデルの違いによる精度の違いを比較しても面白そうだと思いました。
あと今回はマルチモーダルに対応したリランキングモデルがBedrockになかったので、
検索設定をウェイトにしましたが、今後リランキングモデルを設定して精度向上に取り組むのも良さそうです。








