Codex ローカルモデル — Ollama・GGUF モデルをローカルで実行
自分のマシンで動くモデルは、他のプロバイダーと同じように Codex のモデルピッカーに表示できます。このページでは local-models コマンド、どのモデルをダウンロードすべきか、実際に動くかの検証方法、ローカルモデルをテキストのみプロバイダーの視覚リーダーとして使う方法を説明します。
ローカルモデルを有効化
トレイの Model Settings → Local LLMs を開き、使いたいモデルにチェックを入れて、Codex を完全終了・再起動します。CLI の同等コマンド:
./bin/control local-models list # インストール済み+ダウンロード候補
./bin/control local-models install llama3.2:3b # ダウンロード(進捗表示)
./bin/control local-models set llama3.2:3b on # Codex に公開
./bin/control local-models uninstall llava --yes # ディスクから削除
チェック・インストール・削除は意図的に別アクションです:チェックを外してもダウンロードは削除されず、削除は明示的な確認が必要です。local プロバイダーは最初のモデルにチェックを入れたときに自動でオンになり、最後のモデルをクリアするとオフになります。
どのモデルを選ぶべきか
local-models list はタグを暗記させずにその答えを出します。モデルを用途別にグループ化し、サイズと状態を表示します:
コーディング用 — 実験的。Codex のプロンプトは 32K ウィンドウの約 20K を使用:
llama3.2:3b 2.0 GB 検証済み Codex で実ツール呼び出しを実行
qwen2.5-coder:1.5b 1.0 GB 未テスト 最小のコーダー
devstral 14.3 GB 未テスト エージェント向け
画像読み取り専用 — コード不可:
qwen2.5vl:3b 3.2 GB 正確
moondream 1.7 GB キャプションのみ
モデルが実際に動くか検証
ツールテンプレートは下限であり、予測ではありません。決め手になるのは実クライアントの実行です:
./bin/control local-models agent-check llama3.2:3b
これはスクラッチワークスペースで codex exec を 2 回実行し、そこにしかないマーカーファイルを両方で検証します——モデルがツールを発行し、実際の出力を読んだことの証明です。両方合格する必要があり、混在結果は不安定(flaky)と報告されます。
コンテキストウィンドウに現実的になる
すべてのローカルモデルは 32K として Codex に宣伝されますが、Codex 自身の指示とツール定義がコードを追加する前におよそ 20K を占めます——モデルがネイティブに保持する量に関係なく、使えるのはおよそ 12K。ツールサポートとネイティブコンテキストはモデル自身のファイル(チャットテンプレートと GGUF ヘッダー、約 1MB のレンジリクエスト)から読み取られ、これが phi4 が家族が示唆する 128K ではなく 16K である理由です。
ダウンロード前に検査
./bin/control local-models inspect llama3.2:3b # tools:true context:131072
./bin/control local-models inspect phi4 # tools:false context:16384
同じ参照にダウンロードサイズとメモリ適合の推定も含まれます——Apple Silicon はユニファイドメモリ、NVIDIA は GPU メモリ、それ以外はシステム RAM を読み、コンテキストとキャッシュ用に約 20% を上乗せします:
fit | 意味 |
|---|---|
fits | フルスピードで実行 |
tight | 実行できるが CPU に溢れて遅い |
too-large | このマシンでは実行不可 |
install はダウンロード前に too-large モデルを拒否します。tight モデルは警告して続行します——それは判断の問題であり、壁ではありません。
Codex にはツール呼び出しが必要
Codex は毎ターンをツール呼び出しで駆動するため、ツールのないモデルは最初のリクエストで失敗します。Ollama がツール対応と報告したモデルだけがピッカーに公開され、残りはインストールされたまま視覚リーダーとして使え、“no tools — vision only” と表示されます。
ローカルモデルを視覚リーダーとして使う
ビジョンブリッジはデフォルトで有効です:テキストのみのモデルにスクリーンショットを貼ると、視覚対応モデルが先に読み取り、テキストとしてターンに置き換えられるため、テキストのみのモデルは画像を見ません。すべてのプロバイダーがテキストのみの場合、ブリッジを自分のマシンで動く小さな視覚モデルに向ければ——無料、画像はマシンの外に出ず、オフラインでも動作します。
CLI で一覧・取得・固定:
./bin/control vision-bridge models
./bin/control vision-bridge pull qwen2.5vl:3b # Ollama 経由でダウンロードして固定
./bin/control vision-bridge local qwen2.5vl:3b # ローカルリーダーを固定
ブリッジはモデル自体を実行せず、資格情報なしで任意の OpenAI 互換 /v1/chat/completions エンドポイントに POST します。Ollama・llama.cpp・LM Studio のどれでも動作し、vision-bridge probe が一般的なランタイムを検出し、ハードウェアの推奨を報告します(およそ 8GB 未満は moondream、8GB は qwen2.5vl:3b、16GB+ は qwen2.5vl:7b)。
すべての視覚モデルが「読める」わけではありません。ほとんどの小さいモデルは説得力のある説明をしつつコードや数字を捏造します。ピッカーは名声ではなく測定で正確性を表示します——node src/vision-benchmark.mjs を実行すると、既知の請求書画像に対してインストール済みモデルを採点できます。
関連
- 対応モデル——プロバイダーとモデルの完全マトリックス
- 仕組み——貼り付けた画像がどう読まれるか
- トラブルシューティング——よくある問題を修正