Difyでナレッジが5件までしか登録できず、エラーも出ないので気づけなかった話
はじめに
Dify OSS(v1.11.x)でナレッジを登録していて、
「一括アップロードしたのに、なぜか一部しか登録されていない」
という状態にハマりました。
- エラー表示は出ない
- UIは普通に処理が進んだように見える
- でも、登録されたのは5ファイルだけ
最初は
「処理が遅れている?」
「バックグラウンドで続いている?」
と思って待っていました。
しかし、いくら待っても増えない。
結論から言うと、これは Difyの設定による“仕様” で、
しかも 非常に気づきにくい挙動 でした。
症状:エラーが出ないのに、ナレッジが増えない
今回の挙動は、次のようなものでした。
- 6ファイル以上をまとめてアップロード
- 明確なエラーメッセージは出ない
- 登録結果を見ると 5ファイルだけ存在
- 残りは 無かったことになっている
👉 失敗したこと自体に気づけない のが最大の問題でした。
以下の図の場所です。

なぜ気づきにくいのか
Difyには ナレッジ登録数のデフォルト制限があります。
UPLOAD_FILE_BATCH_LIMIT=5
この設定は、
1回の操作でアップロードできる最大ファイル数
を意味します。
ここが厄介なポイント
- 5件までは 完全に正常
- 6件目以降だけが 制限に引っかかる
- UI上では
- 明確なエラーが出ない
- 「5件だけ成功」という結果になる場合がある
つまり、
「一部成功しているせいで、失敗に気づけない」
という状態になります。
一番ハマりやすい挙動
Difyの挙動には大きく2パターンありますが、
今回問題になったのは パターン② です。
パターン①(まだ親切)
- 6件目以降でエラー表示が出る
- 失敗したことが分かる
❌ パターン②(今回)
- エラー表示なし
- 5件だけ登録される
- 残りは黙って無視される
- 気づいたのは後から
👉 UIが壊れているようにすら見えないため、原因特定が遅れます。
原因は不具合ではなく「設定」、不親切なUIです。
これは Difyのバグではありません。
.env にある次の設定が原因です。
UPLOAD_FILE_BATCH_LIMIT=5
デフォルト値が 5 のため、
- 5件 → 成功
- 6件以上 → 制限超過 → API側で拒否
という挙動になります。
対策:登録数制限を明示的に増やす
例:20件まで一括登録したい場合
UPLOAD_FILE_BATCH_LIMIT=20
反映:
cd ~/dify/docker
docker compose down
docker compose up -d
これで、
- 一括アップロードしても
- 途中で黙って失敗することがなくなります
「数」を直しても、次にハマる制限
数の制限を直したあと、次に出てきやすいのが サイズ制限 です。
ファイルサイズ制限(API側)
UPLOAD_FILE_SIZE_LIMIT=15
Nginx側(ここが原因のことが多い)
NGINX_CLIENT_MAX_BODY_SIZE=100M
この2つが噛み合っていないと、
- 途中で失敗
- 413エラー
- やはり分かりにくい失敗
につながります。
実務でおすすめの設定例
UPLOAD_FILE_BATCH_LIMIT=20
UPLOAD_FILE_SIZE_LIMIT=50
NGINX_CLIENT_MAX_BODY_SIZE=200M
👉 「数」「サイズ」両方で気づきにくい失敗を防げる構成です。
まとめ:一番怖いのは「静かに失敗すること」
今回一番厄介だったのは、
- ❌ エラーが出ない
- ❌ UIが壊れているように見えない
- ❌ でも、結果は欠けている
という 静かな失敗 でした。
Difyでナレッジ登録が思った通りに増えないときは、
「制限に引っかかって、黙って捨てられていないか?」
をまず疑ってください。
特に
UPLOAD_FILE_BATCH_LIMIT=5
これは知らないと確実にハマります。