Local / Edge実践ガイド
Open WebUIでOllamaのコンテキストが短いときの直し方|num_ctxを確認する

目次
Open WebUIからOllamaを使っていて、長い会話や文書の前半を忘れているように見えるとき、最初からコンテキスト長を最大へ設定する必要はない。
先に、Ollama側で使っているコンテキスト設定と、Open WebUIから送られるnum_ctxを分けて確認する。
この二つを混同すると、Ollama側を変えたのに挙動が変わらない、反対にOpen WebUIから大きすぎる値を送りメモリ使用量だけ増える、といった状態を追いにくい。
図: 処理や設定の流れを1枚に整理。実際の操作条件は本文で確認する。
設定を変える前に同じ入力で症状を再現する
まず「どの入力で短いと感じたか」を保存する。
会話全体を再現するより、問題が分かりやすい長文と質問を一組にすると確認しやすい。
- 入力のどの部分が回答に必要か
- その部分を実際に参照できていないか
- 同じ入力と質問でも同じ症状が出るか
を確認する。
モデルの回答そのものが弱いだけなら、コンテキスト長を増やしても改善しない可能性がある。
Ollama側の現在設定を確認する
Ollamaには、実行中のモデルで使うコンテキスト長の設定がある。
モデルカードに書かれた最大コンテキスト長と、現在のOllamaが実際に割り当てている長さは同じとは限らない。
最大値はモデル仕様上の上限を考える材料であり、自分のPCで最初からその値を使う必要はない。
Ollama単体での確認方法は、Ollamaのコンテキスト長を変える前に確認することで整理している。
Open WebUI側のnum_ctxを別に確認する
Open WebUIのOllama接続では、Open WebUI側からnum_ctxを送る設定があり、Ollama側の基準値をリクエスト単位で上書きする場合がある。
そのため、Ollama側だけ変更しても、Open WebUI側に別の値が残っていれば期待した条件にならないことがある。
| 見る場所 | 確認すること |
|---|---|
| Ollama | 実行中モデルのコンテキスト設定 |
| Open WebUI | モデルやチャットで指定するnum_ctx |
| 実際の入力 | 本当に必要な文章量 |
| PC | 変更後のメモリ使用量と応答状態 |
設定画面の場所や名称はバージョンで変わる可能性があるため、最終的にどの値がOllamaへ送られているかを見る。
大きくするほど良いわけではない
コンテキスト長を増やすと、モデル本体以外にもコンテキスト処理やKVキャッシュで使うメモリが増える。
必要量はモデル、実行環境、精度、CPUへのオフロードなどで変わるため、「32Kなら必ず何GB必要」と固定して考えない。
現在値から一段階ずつ増やし、同じ入力で、
- 必要な前半の情報を参照できるようになったか
- 応答開始までの時間が大きく悪化していないか
- メモリ不足が起きていないか
- CPU・GPUへの配置が大きく変わっていないか
を確認する。
変わらないならコンテキスト以外を調べる
値を増やしても症状が変わらないなら、原因をコンテキスト不足と決めつけない。
RAGを使っている場合は必要な文書部分が検索で取得されているか、会話の組み立てで必要なメッセージが送られているか、モデル自体が長い入力を十分利用できるかを分けて見る。
Ollama側とOpen WebUI側の設定をそろえ、同じ入力で症状が消える最小限の長さを探すのが基本になる。最大値まで増やすこと自体を目的にしない。
まとめ
- Ollama側のコンテキスト設定と、Open WebUIから送る`num_ctx`は別々に確認する
- Open WebUI側の`num_ctx`が、Ollama側の設定をリクエスト単位で上書きする場合がある
- コンテキスト長を増やすとメモリ使用量も増えるため、最初から最大値へ設定しない
- 同じ長文と同じ質問で変更前後を比較し、必要な長さまで段階的に増やす
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
Ollama
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。