Local / Edge実践ガイド

Open WebUIでOllamaのコンテキストが短いときの直し方|num_ctxを確認する

Open WebUIでOllamaのコンテキストが短いときの直し方 — num_ctxを確認する
目次

Open WebUIからOllamaを使っていて、長い会話や文書の前半を忘れているように見えるとき、最初からコンテキスト長を最大へ設定する必要はない。

先に、Ollama側で使っているコンテキスト設定と、Open WebUIから送られるnum_ctxを分けて確認する

この二つを混同すると、Ollama側を変えたのに挙動が変わらない、反対にOpen WebUIから大きすぎる値を送りメモリ使用量だけ増える、といった状態を追いにくい。

Open WebUIでOllamaのコンテキストが短いときの直し方|num_ctxを確認するの要点を図解

図を拡大して見る

図: 処理や設定の流れを1枚に整理。実際の操作条件は本文で確認する。

設定を変える前に同じ入力で症状を再現する

まず「どの入力で短いと感じたか」を保存する。

会話全体を再現するより、問題が分かりやすい長文と質問を一組にすると確認しやすい。

  1. 入力のどの部分が回答に必要か
  2. その部分を実際に参照できていないか
  3. 同じ入力と質問でも同じ症状が出るか

を確認する。

モデルの回答そのものが弱いだけなら、コンテキスト長を増やしても改善しない可能性がある。

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側の設定をリクエスト単位で上書きする場合がある
  • コンテキスト長を増やすとメモリ使用量も増えるため、最初から最大値へ設定しない
  • 同じ長文と同じ質問で変更前後を比較し、必要な長さまで段階的に増やす

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索