Difyのナレッジベース完全攻略:ファイル形式・埋め込みモデル・精度向上の実践ガイド
前回の記事ではDifyのナレッジ機能の基本を解説しましたが、今回はより深く「ナレッジベースの設定詳細」に踏み込んでいきます。対応ファイル形式の選び方、埋め込みモデルの比較、Google DriveやNotionとの同期設定、そしてよくある「ナレッジが参照されない」「アップロードに失敗する」といったトラブルの解決法まで、実践的な内容でお届けします。
Difyのナレッジベースとは

室谷Difyのナレッジベース、これ本当に強力な機能なんですよね。一言で言うと「自分のデータをAIが参照できるようにする仕組み」です。
テキトー教師そうですね。講座で受講生さんに説明するときは「LLMは基本的には学習済みの知識しか持っていない。
でもナレッジベースを使うと、自分の会社の資料やマニュアルをその場で検索して答えられるようになる」と伝えています。
でもナレッジベースを使うと、自分の会社の資料やマニュアルをその場で検索して答えられるようになる」と伝えています。
室谷これ、RAG(Retrieval-Augmented Generation)という技術が裏側で動いているんですよ。仕組みはシンプルで、ユーザーが質問すると、まずシステムがナレッジベースから関連する情報を検索して(Retrieval)、その検索した情報を質問と一緒にLLMに渡して(Augmented)、LLMが情報を元に回答を生成する(Generation)という流れです。
テキトー教師この流れ、コミュニティのメンバーさんにホワイトボードで書いて説明するとみんな「なるほど!」ってなるんですよね。LLMが幻覚(ハルシネーション)を起こしにくくなる理由もここにあって、「自分の頭の中だけで考える」のではなく「資料を参照しながら答える」ようになるわけです。
室谷MYUUUでも社内のナレッジをDifyに入れていて、新入社員がSlackで聞いてくるような定型的な質問はほぼそっちで解決できるようになってます。採用コストではなく「知識の再利用コスト」を下げる、みたいな発想ですね。
テキトー教師Dify公式ドキュメントによると、ナレッジベースで実現できる主なユースケースとしてこういうものが挙げられています。
| ユースケース | 概要 |
|---|---|
| カスタマーサポートbot | 製品ドキュメントやFAQを元に正確な回答を提供 |
| 社内ナレッジポータル | 社内規定・手順書をAI検索で即時アクセス |
| コンテンツ生成ツール | 特定の資料を元にレポートやメールを生成 |
| リサーチ・分析アプリ | 論文・市場レポート・法令文書から情報を取得・要約 |
室谷特に「社内ナレッジポータル」はDify本で一番反響があった活用例ですね。Googleドライブに眠ってる議事録や手順書を丸ごとRAG化する、みたいな話。
テキトー教師ですよね。「ナレッジベース、そもそも何のためにあるの?」って聞かれたら、「LLMを自分たちのビジネスに特化した専門家にする機能」と答えるのが一番しっくりきます。
ナレッジベースに登録できるファイル形式と上限

室谷まず「どんなファイルが使えるの?」という基本的なところから整理しましょう。PDFとかテキストだけじゃないんですよね。
テキトー教師そうですね。Difyのナレッジベースは非常に多くのファイル形式に対応しています。
ここで整理すると・・・
ここで整理すると・・・
| カテゴリ | 対応形式 | 備考 |
|---|---|---|
| テキスト | TXT、Markdown(.md)、MDX | テキスト抽出が最も安定 |
| 文書 | PDF、Word(.docx)、PowerPoint(.pptx) | スキャンPDFはOCR精度に依存 |
| 表計算 | Excel(.xlsx)、CSV | テーブルのチャンク化に注意 |
| データ | JSON | 構造化データとして取り込み可 |
| Web | HTML | Webページのクロール結果 |
| その他 | XML、EML(メール形式)など |
室谷ExcelやCSVのナレッジ化は、実務でかなり需要があるんですよね。商品一覧とか価格表をナレッジに入れて、チャットボットで「この商品の価格は?」と聞けるようにしたいというユースケースが多くて・・・
テキトー教師ただCSVやExcelはテーブル構造そのままだと意外とチャンク化が難しいんですよ。例えば「商品名、価格、説明」の表を入れても、行単位でバラバラに分割されてしまって、ヘッダー行と値の行が別チャンクになることがあります。
室谷そういう場合の対策として、CSVをあらかじめ「商品名:○○、価格:○○円、説明:○○」みたいなテキスト形式に変換してから登録するとうまくいくんですよ。Difyのワークフロー機能と組み合わせると、この変換自体も自動化できます。
テキトー教師ファイルサイズの上限も気をつけないといけないですね。大きな文書は事前に分割してからアップロードした方が安全です。
コミュニティのメンバーさんで「dify ナレッジ アップロードに失敗しました」というエラーで詰まっている方は、ファイルサイズや文字コードを確認してみてください。
コミュニティのメンバーさんで「dify ナレッジ アップロードに失敗しました」というエラーで詰まっている方は、ファイルサイズや文字コードを確認してみてください。
室谷日本語のファイルで文字化けが起きる場合は、UTF-8で保存し直すと解決することが多いです。Excelファイルは特にShift-JISで保存されていることがあるので、CSVとして出力する際にエンコードを確認する必要があります。
埋め込みモデルの選び方と費用
テキトー教師ナレッジベースの設定で見落とされがちなのが「埋め込みモデル(Embeddingモデル)」の選択ですね。これ、精度とコストに直接影響します。
室谷これ本当に大事なんですよ。埋め込みモデルって何をするかというと、テキストを「ベクトル(数値の配列)」に変換して、意味が近いテキスト同士を関連付ける役割を担っています。
検索の「意味的な近さ」を判定するのがこのモデルです。
検索の「意味的な近さ」を判定するのがこのモデルです。
テキトー教師Difyが対応している主な埋め込みモデルを整理するとこういった選択肢があります。
| モデル | 提供元 | 特徴 | コスト |
|---|---|---|---|
| text-embedding-3-small | OpenAI | 汎用的でバランスが良い | 中程度 |
| text-embedding-3-large | OpenAI | 高精度だがコスト高 | 高め |
| text-embedding-ada-002 | OpenAI | 旧世代、後方互換用 | 中程度 |
| BGE・Ollama等オープンソース | 各種 | セルフホストで無料化可能 | 無料(自前サーバー) |
室谷無料でやりたい場合は、OllamaをローカルやVPS上に立てて、そこのembeddingモデルを使う方法があります。Dify Cloud版ではなくセルフホスト版を使っている方に多いアプローチですね。
テキトー教師一度設定した埋め込みモデルは後から変更できない(変更すると再インデックスが必要)なので、最初にちゃんと決めた方がいいです。コミュニティのメンバーさんが「モデルを変えたらナレッジが使えなくなった」という状況になることがあって・・・
室谷そうなんですよ。埋め込みモデルを変えると、既存のベクトルデータとの互換性がなくなるので、実質的にナレッジを作り直しになります。
これは「dify ナレッジ 埋め込みモデル」で検索している方が多い理由でもあります。
これは「dify ナレッジ 埋め込みモデル」で検索している方が多い理由でもあります。
テキトー教師日本語対応については、OpenAIのembeddingモデルは多言語対応が良くて、日本語でも実用的な精度が出ます。ただし日本語特化のモデルを使うとさらに精度が向上するケースもあります。
インデックス方法:高品質vs経済的の違い
室谷インデックス方法も重要なポイントで、「高品質」と「経済的」の2択があります。
テキトー教師ここも整理しておきましょう。
| インデックス方法 | 仕組み | 向いているケース | コスト |
|---|---|---|---|
| 高品質(High Quality) | LLMが文書を理解してインデックス化 | 複雑な文書・高い精度が必要 | LLMのAPI料金がかかる |
| 経済的(Economical) | キーワードベースのインデックス化 | シンプルな文書・コスト最優先 | 低コスト |
室谷MYUUUでは基本的に高品質インデックスを使っています。コストはかかりますが、複雑な社内文書を正確に参照できることの価値の方が大きいので。
テキトー教師一方で、受講生さんの個人プロジェクトや学習用途だと経済的インデックスから試す方が多いですね。シンプルなFAQドキュメントなら経済的インデックスで十分な精度が出ることも多いです。
室谷あと検索設定として「セマンティック検索」「全文検索」「ハイブリッド検索」の3種類があって、Rerankモデルと組み合わせるとさらに精度が上がります。
テキトー教師ハイブリッド検索は、意味的な類似度(セマンティック)とキーワードマッチ(全文検索)を組み合わせる方式で、Difyが推奨している方法です。特に「ある特定の単語を含む文書を探したい」という場合と「意味が近い情報を探したい」という場合を両方カバーできます。
室谷Rerankモデルはその検索結果の優先順位付けをさらに精緻化してくれます。使うとかなり精度が変わるので、本格運用するなら検討してみてください。
ナレッジの自動更新とGoogle Drive連携
テキトー教師「一回入れたら終わり」じゃなくて、ナレッジを常に最新の状態に保ちたい場合の話をしましょう。
室谷これ、Difyを本格的に運用し始めると必ず直面する課題なんですよ。社内の手順書って頻繁に更新されるじゃないですか。
手動でいちいち再アップロードしていたら運用が回らなくなる。
手動でいちいち再アップロードしていたら運用が回らなくなる。
テキトー教師Difyのナレッジでは、同じ文書を再アップロードすると上書き更新が可能です。ただ完全な「自動更新」は、データソースによって対応状況が異なります。
室谷Notionとの同期は比較的ワークフローが作りやすいですね。NotionのページをDifyのナレッジに同期するフローをDifyのワークフロー自体で作れます。
MYUUUでもNotionの議事録を定期的にナレッジに反映する仕組みを作りました。
MYUUUでもNotionの議事録を定期的にナレッジに反映する仕組みを作りました。
テキトー教師Google Driveとの連携は、HTTPリクエストノードを使ってGoogle Drive APIから文書を取得して、ナレッジAPIでアップロードするという組み合わせになりますね。コミュニティに実装例がいくつか出ていますよ。
室谷Googleスプレッドシートのデータをナレッジ化したいというケースもよく聞かれます。スプレッドシートのデータをCSVとして取得して、DifyのナレッジAPIで登録する、という流れですね。
テキトー教師Difyにはナレッジを操作するAPIも公開されていて、外部システムからプログラムでナレッジを管理できます。を参照しながら試してみてください。
ナレッジが参照されない・表示されないときのトラブルシューティング
テキトー教師一番よくある問題が「アプリを動かしてもナレッジを参照してくれない」という状況ですね。
室谷これ、原因がいくつかあって。まず確認すべきことを整理すると・・・
- ナレッジが有効になっているか確認:ドキュメントやナレッジベース自体が「無効」になっていないか
- アプリにナレッジが接続されているか確認:チャットボットやワークフローのコンテキスト設定でナレッジが選択されているか
- インデックス化が完了しているか確認:アップロード後のインデックス処理が完了しているか(「インデックス化中」のステータスが残っていないか)
- チャンクが検索で引っかかる内容になっているか:ナレッジ検索テスト機能で実際に試してみる
テキトー教師特に「インデックス化中」が延々と続く「キューイング」状態になる問題が報告されることがあります。しばらく待てば解消することがほとんどですが、セルフホストの場合はワーカープロセスの設定を確認する必要があります。
室谷Dify Cloudは非アクティブなドキュメントが一定期間後に自動で無効化される仕組みがあって、これが原因のこともあります。Dify公式ドキュメントによると、Sandboxプランは7日間、ProfessionalとTeamプランは30日間が非アクティブの無効化期間です。
テキトー教師「ナレッジ 参照しない」問題で意外と多いのが、プロンプト設定の問題ですよね。チャットボットのシステムプロンプトで「ナレッジベースの情報を参照して答えてください」と明示的に指示していないと、LLMが自前の知識で答えようとすることがあります。
ナレッジベースの権限管理と共有設定
室谷企業でDifyを使う場合、「誰がどのナレッジにアクセスできるか」という権限管理も重要ですよね。
テキトー教師Difyのワークスペース内でナレッジベースの共有設定があります。デフォルトでは作成したメンバーのみがアクセスできますが、ワークスペース内の他のメンバーと共有する設定に変更できます。
室谷セキュリティの観点で言うと、Dify v1.1.0で導入されたメタデータフィルタリングが強力です。ドキュメントにメタデータを付与して、「このユーザーはprivacy_levelが3以上のドキュメントにしかアクセスできない」みたいなアクセス制御ができます。
テキトー教師例えば「人事情報は人事部門のメンバーのみ参照可能」「顧客情報は担当者のみ参照可能」といった細かいアクセス制御がナレッジ側で実現できるようになりました。
室谷メタデータのタイプは文字列・数値・時間の3種類があって、複数条件のAND/OR組み合わせもできます。エンタープライズ利用では必須の機能ですよね。
テキトー教師コミュニティのメンバーさんにも「社員番号でアクセス制御したい」「部門コードでフィルタリングしたい」という要望が多くて、v1.1.0以降はこういった細かい制御が実現できるようになっています。
ナレッジとチャットフロー・エージェントの連携
室谷ここまでナレッジベース自体の設定を解説しましたが、実際にアプリと繋ぐところも整理しましょう。
テキトー教師接続の方法は大きく3つあります。
- チャットボット(Chatbot): コンテキスト設定でナレッジを追加するだけ。最もシンプル
- チャットフロー(Chatflow): ナレッジ検索ノードを配置してワークフロー内で制御
- エージェント(Agent): ナレッジをツールとして登録し、エージェントが自律的に参照
室谷チャットフローでのナレッジ検索ノードが一番柔軟ですよね。「特定の条件に合致する場合だけナレッジを参照する」とか「複数のナレッジベースを順番に検索する」みたいな複雑な設定ができます。
テキトー教師エージェントのツールとしてナレッジを使う場合は、エージェントが「この質問にはナレッジを検索すべきか」を自分で判断してくれるので、より自然な会話フローになります。ただし、確実にナレッジを参照させたい場合はチャットフローの方が制御しやすいです。
室谷MYUUUでは用途によって使い分けていて、社内FAQ系はチャットフロー、より汎用的なアシスタントはエージェント、という感じです。
よくある質問
Q:ナレッジベースのファイル数に上限はありますか?
テキトー教師Dify Cloudのプランによって上限が異なります。本格運用にはProfessional以上のプランが必要です。
最新の上限はでご確認ください。
最新の上限はでご確認ください。
室谷上限に近づいてきたら、古くなったドキュメントをアーカイブして整理する習慣をつけておくといいですよ。アーカイブしたドキュメントは検索対象から外れますが、削除はされません。
Q:ナレッジベースはアプリをまたいで共有できますか?
テキトー教師はい、1つのナレッジベースを複数のアプリで共有できます。例えば「商品カタログ」のナレッジを、カスタマーサポートbotと社内向け検索ツールの両方で使う、という構成が可能です。
室谷ナレッジを更新すれば、そのナレッジを使っている全てのアプリに即座に反映されます。これ、ナレッジの更新が一箇所で済むので運用が楽になりますよね。
Q:ナレッジのデータはどこに保存されますか?
テキトー教師Dify Cloud版ではDifyのサーバーにベクトルデータが保存されます。セキュリティ上の理由からセルフホストを選ぶ企業も多く、その場合はPgVectorやWeaviate、Qdrantなどのベクトルデータベースを自前で用意することになります。
室谷セルフホストだとベクトルDBの選択肢が広がりますが、設定は少し複雑なので、を参照しながら進めることをおすすめします。
まとめ:Difyのナレッジベースを使いこなすポイント
室谷今回はナレッジベースの実践的な設定を深掘りしましたが、一番大事なのは「チャンクの品質確認」と「検索テストで実際に試す」ことですね。設定してほったらかしにしないで、定期的にテストして精度を確認する習慣が重要だと思います。
テキトー教師そうですね。受講生さんによく言うのが「ナレッジベースは作って終わりじゃなくて、育てていくもの」という話です。
チャンクを編集したり、サマリーを追加したり、不要になったドキュメントを整理したり、継続的な管理が精度を保つ秘訣です。
チャンクを編集したり、サマリーを追加したり、不要になったドキュメントを整理したり、継続的な管理が精度を保つ秘訣です。
室谷特に埋め込みモデルの選択とインデックス方法は、最初に慎重に決める必要があります。後から変えると再インデックスが必要になるので・・・
テキトー教師最後に大事なポイントをまとめるとこういう感じです。
- ファイル形式はテキスト系が最も安定。CSVは事前にテキスト変換を検討
- 埋め込みモデルは後から変更が難しいため、最初にコストと精度のバランスを考えて選択
- チャンク設定は「意味的な完結性」を最優先に。親子チャンクモードが有効
- ハイブリッド検索+Rerankで検索精度を最大化
- メタデータを活用してアクセス制御とフィルタリング検索を実現
- 検索テスト機能で定期的に精度を確認して改善を続ける
室谷Difyのナレッジベースは、設定をしっかり理解して使いこなすと「AIが社内の専門家になる」体験ができます。ぜひを参照しながら試してみてください。
