OpenAI CodexでローカルLLMを実行する方法
デバイス上でOpenAI Codexとオープンモデルをローカルに使います。
このステップバイステップガイドでは、オープンなLLMとAPIをOpenAI Codexに接続する方法を紹介します 完全にローカルで、スクリーンショット付きです。Codexに必要なのは、OpenAI Responses APIに対応したローカルエンドポイントだけです。Qwen、DeepSeek、Gemmaなど、任意のオープンモデルで実行できます。
このチュートリアルでは、以下のオープンモデルを使用します: Gemma 4 と Qwen3.5 これらは高性能なエージェント型・コーディング向けモデルです(24GB RAM/ユニファイドメモリ搭載デバイスで動作します)。推論には Unsloth Studio と llama.cpp macOS、Linux、Windows上でLLMを実行/提供できます。ほかのモデルに差し替えることもでき、その場合はスクリプトとCodexの設定内のモデル名を更新するだけです。
Codexのセットアップ📖 ローカルモデルのセットアップチュートリアル
モデルの量子化版には、Unslothを使用します Dynamic GGUF これにより、できるだけ精度を保ったまま量子化GGUFモデルを実行できます。
Codexは2026年1月以降かなり変わりました。現在は OpenAI Responses API のみを使用し、Chat Completionsのサポートは非推奨になりました。 Unsloth Studio は両方をサポートしているため、 wire_api = "responses" このガイド全体でこれを使用します。
Codexのセットアップ
Codex は、ローカルで動作するOpenAI公式のコーディングエージェントです。ChatGPT向けに設計されていますが、 カスタムAPIエンドポイントにも対応しているため、ローカルLLMでも動作します。後ほどUnsloth Studioの /v1/responses エンドポイントに向けます。Unslothの起動後に設定します。
ターミナルで実行します:
apt update
sudo apt install nodejs npm -y
npm install -g @openai/codexWindows PowerShellで実行します:
winget install --id OpenAI.CodexCodexデスクトップアプリを使いたいですか? Microsoft Storeからインストールします:
winget install --id 9PLM9XGG6VKS --source msstoreまたは Microsoft App Store。アプリは同じ %USERPROFILE%\.codex\config.tomlを読み込むため、後で設定するプロバイダ設定はどちらの場合でも適用されます。
WSLを使いたいですか? PowerShellを管理者として開き、次を実行します: wsl --install、再起動してから、Ubuntu内で上のLinuxタブに従ってください。Windowsホスト上のUnslothに到達するには、少しネットワークの工夫が必要です。『Connect Codex to Unsloth』のWSLヒントを参照してください。
ターミナルで実行します:
bash brew install --cask codexインストールはこれで完了です - まだ codex 実行しないでください。そのまま実行すると、OpenAIの「ChatGPTでサインイン」ピッカーが開きます(モーダルなので、回避手段はありません)。ローカルプロファイルを設定すると、
codex --oss --profile unsloth_api または codex --oss --profile llama_cpp カスタムプロバイダではデフォルトで requires_openai_auth = falseが設定されているため、その画面は完全にスキップされます。まずローカルモデルサーバーを起動し、その後Codexを接続してください。
📖 クイックスタートチュートリアル
始める前に、使用する特定のモデルのセットアップを完了する必要があります。ここでは Unsloth (Web UI)とllama.cppを使用します。これらは、Mac、Linux、Windowsデバイス上でLLMを実行・提供するためのオープンソースフレームワークです。

🦥 Unslothチュートリアル🦙 llama.cppチュートリアル
🦥 Unslothチュートリアル
このチュートリアルでは、 Unslothを使って、UI経由でローカルモデルをClaude Codeに提供/接続します。UnslothはWindows、WSL、Linux、macOSで動作します。
検索、ダウンロード、 GGUF を実行 および safetensor モデル
自己修復 ツール呼び出し + Web検索
コード実行 (Python、Bash)
自動推論 パラメータ調整(temp、top-p など)
llama.cppによる高速なCPU + GPU推論
LLM を学習 VRAM を 70% 少なくして 2 倍高速
インストール手順は以下を参照してください:

Unslothをダウンロード
始める最も簡単な方法は、次のものをインストールすることです Unsloth Desktop アプリです。対応環境は macOS、Linux、 Windows, NVIDIA, AMD、Intel、およびCPU構成です。
あるいは、手動インストールを希望する場合:
macOS、Linux、WSL:
Windows PowerShell:
Unslothの準備が整いました
チャットを始めるには、メッセージを入力してEnterを押します。
ツールを接続: Claude Code, Codex、ウェブ検索、 MCP など
モデルを学習: テキスト、拡散モデル、埋め込みなどをファインチューニング
メディアを生成: 画像、動画、TTSをローカルで作成・学習

モデル読み込み + APIガイド
任意:ランタイム設定を調整する
モデルを起動するときに、追加のランタイムオプションを指定できます。 unsloth run.
推論対応モデルは次のように起動できます: --reasoning on または --reasoning off。 -c フラグは利用可能なコンテキストウィンドウを制御します。
次を使用: -p APIを別のポートで実行したい場合に使用します。
外部のコーディングエージェントを操作する場合は、 --disable-toolsを追加してください。これにより、Unsloth Studioはパススルーになり、Unslothが内蔵ツールをサーバー側で実行する代わりに、エージェント自身のツールが転送され、エージェントが実行するツール呼び出しとして返されます。
より高度なランタイム設定については、メインの APIチューニング セクションを参照してください。
⚙️ Codexを接続
Codex用のローカルLLMのセットアップが完了したので、次にCodexがあなたのツールで動作するように設定します。簡単に接続するには unsloth start 以下の方法を使うか、 手動で.
⚡ OpenAI Codexを次で実行 unsloth start
モデルを使ってCodexを直接起動するには、次を実行します:
Unslothが使用すべき正しいパラメータを自動で選択しますが、変更も可能です。
Unsloth StudioにGGUFモデルを読み込んだら、プロジェクトフォルダを開いて次を実行します:
Unslothは、起動時に分離されたCodexホームと、UnslothをバックエンドとするResponsesプロバイダを作成します。通常の ~/.codex 設定はそのまま維持されます。
Codexの状態はデフォルトでは一時的です。 --persist Unsloth管理の設定やセッションを保持したい場合は、これを使います:

Codex は現在、次を介して配信される GGUF モデルを必要とします
llama-serverバックエンド。
完全な unsloth start モデル読み込み、永続化、すべてのラッパーオプションのリファレンスを参照してください。
このガイドの残りの部分では、Codexプロバイダの完全な手動設定を扱います。
🔌 手動で接続
このセクションは手動設定用です。Unsloth Studio、llama.cpp、または他のOpenAI互換ローカルサーバーを使う場合でも同じです。Codexに必要なのは3つの値、 APIキー、 ベースURL、 モデル名です。以下の例はUnsloth Studioを使用します。llama.cppの場合は、同じ形式で llama_cpp llama.cppセクションのプロファイルを使用してください。
Unslothプロバイダを設定する
Codexが参照するのは ~/.codex/config.toml macOS/Linux/WSLでは %USERPROFILE%\.codex\config.toml 、Windowsではです。作成または編集します:
次に、Unsloth用のCodexプロファイルを作成します:
モデル は、サーバーが次で返すIDと一致する必要があります: GET http://localhost:8888/v1/models。Unsloth Studioは完全なリポジトリIDを公開します(たとえば unsloth/gemma-4-26B-A4B-it-GGUF)。下のllama.cppセクションでは --alias "unsloth/gemma-4-26B-A4B"を使うため、Codexをllama-serverに向ける場合は、その短いIDを使ってください。
この設定は unsloth_api というCodexモデルプロバイダを登録し、Unsloth Studioを指すようにし、 unsloth_api を codex --ossのデフォルトローカルプロバイダに設定します。別個の unsloth_api プロファイルは、Codexを次で起動した場合にのみUnslothプロバイダとモデルを選択します: --profile unsloth_apiそのため、通常のCodex設定は変更されません。Codexは、次という名前の環境変数からAPIキーを読み取ります: UNSLOTH_STUDIO_AUTH_TOKEN。実際のキーは次のステップで設定します。
base_url
ローカルサーバーのエンドポイント + /v1
env_key
名前 CodexがAPIキーを読み取る環境変数の名前です。キーそのものではありません。
wire_api
responses。Codexは現在、OpenAIのResponses APIのみを使用します。
requires_openai_auth
false にすると、Codexはこのプロバイダで「ChatGPTでサインイン」画面をスキップします。デフォルトでもすでに falseですが、明示的に設定しておきましょう。
モデル
サーバーが公開するモデルIDです。 GET <base_url>/models で、正確な文字列を確認してください。
oss_provider
を設定します unsloth_api を、Codexを次で起動した際のデフォルトローカルプロバイダとして
--oss.
requires_openai_auth
false にすると、Codexはこのプロバイダで「ChatGPTでサインイン」画面をスキップします。
OpenAIは wire_api = "chat" のサポートを削除しました。必ず wire_api = "responses"を使用してください。 wire_api = "chat"を設定すると、Codexは次で起動を拒否します: `wire_api = "chat"`はもうサポートされていません。修正方法:プロバイダ設定で`wire_api = "responses"`に設定してください。
切り替えるUnslothモデルごとに、複数のプロファイルファイルを作成できます。使いたいものを次で起動します: codex --profile <profile-name>.
APIキーの環境変数を設定する
で書いたのと同じ環境変数名を使います。 env_key。上のUnsloth Studioの例では、 env_key = "UNSLOTH_STUDIO_AUTH_TOKEN"なので、 UNSLOTH_STUDIO_AUTH_TOKEN Codexを実行する同じターミナルで設定します:
名前を変更した場合は、 env_keyコマンド内の変数名も変更してください。たとえば、 env_key = "LLAMA_CPP_API_KEY" を使うプロファイルでは LLAMA_CPP_API_KEYが必要で、 UNSLOTH_STUDIO_AUTH_TOKEN.
セッション限定 vs 永続: 上のコマンドは現在のターミナルにのみ適用されます。永続化するには:
macOS / Linux / WSL: を
export行として~/.bashrc(bash)または~/.zshrc(zsh)に追加します。Windows: 次を実行します:
setx UNSLOTH_STUDIO_AUTH_TOKEN "YOUR_TOKEN"一度だけ、または$env:行をPowerShellの$PROFILE.
Windows上のUnslothにWSL内のCodexから接続していますか? WSLは別のネットワーク名前空間なので、 localhost をWSL内から使ってもUnslothには届きません。 config.toml を編集し、代わりにWindowsホストのIPを使ってください:
次に、 base_url = "http://<that-ip>:8888/v1"を設定します。WSL2のミラーリングネットワークが有効な場合(.wslconfig → networkingMode=mirrored), localhost は、ネイティブWindowsと同様に動作します。
Codexを起動
新しいディレクトリでの初回起動 Codexが尋ねます 「このディレクトリの内容を信頼しますか?」 - を選択 はい、続行します。 これは現在の作業ディレクトリごとの信頼確認であり、ChatGPTログインではありません(後者は`requires_openai_auth = false`のためスキップされます)。同じディレクトリでの次回以降の起動では、この確認は表示されません。

次の表示が出る場合: のモデルメタデータが unsloth/gemma-4-26B-A4B 見つかりません。フォールバックメタデータを使用します? Codexには、OpenAI自身のモデル向けに、コンテキストウィンドウ、ツールサポート、入力モダリティの組み込み表があります。それ以外については、安全なデフォルトにフォールバックします。この警告は、非OpenAIのスラッグごとにセッション内で1回だけ表示されます。すべて問題なく動作するので、無視してかまいません。
修正するには: 追加して model_context_window = 131072 の先頭に ~/.codex/config.toml これにより、Codexはフォールバック値ではなくGemma 4の実際の128Kコンテキストを使用します。ツールサポートと入力モダリティも完全に制御したい場合は、 model_catalog_json 内の [profiles.unsloth_api] を、カスタムの ModelInfo エントリを含むJSONファイルに向けます。
この --profile unsloth_api フラグはCodexに次を読み込ませます: ~/.codex/unsloth_api.config.tomlこれにより、Unsloth Studioプロバイダとモデルが選択されます。 --oss を追加すると、CodexのローカルOSSプロバイダフローで実行されます。モデル名はCodexのステータスバーに表示されます。

追加 --search ウェブ検索を有効にします:
すべての承認プロンプトを回避するには (警告:これにより、Codexは承認なしで好きなようにコードを実行・実行します!):
実際のタスクを試す
次のプロンプトを試して、簡単なUnslothファインチューニングをインストール・実行してください:
もう少し待てば、Unsloth で正常にファインチューニングされたモデルが表示されます!

切断するか元に戻す
Codex を起動する(〜なしで) -p unsloth_api そうするとデフォルトのプロバイダが使われます。あるいは、次のものを削除してください: [profiles.unsloth_api] と [model_providers.unsloth_api] からのブロック ~/.codex/config.toml.
Unsloth Studio は起動したままでも停止してもかまいません。停止中は何もインターセプトしません。
トラブルシューティング
... のモデルメタデータが見つかりません
OpenAI 以外のスラッグのため、組み込みメタデータはありません
無害な警告です。副作用を抑えるには、次を設定してください: model_context_window = 131072 の中で ~/.codex/config.toml、または次を指定してください:
Codex はそれを GPT だと言っています
Codex は OpenAI を参照するシステムプロンプトを挿入します。ローカルモデルはそれをそのまま反映します
ルーティングのバグではありません。Unsloth のアクティビティパネルで確認してください。自己申告を変えるにはシステムプロンプトを上書きしてください。
接続が拒否されました
Unsloth が実行されていないか、ポートが間違っています
Unsloth が次で起動していることを確認してください: http://localhost:8888;確認してください base_url の中で config.toml
wire_api = "chat" はもはやサポートされていません
レガシー wire_api = "chat" 設定内で
次に切り替えてください: wire_api = "responses"
モデルが見つかりません
モデル ID の টাইポミス
GET http://localhost:8888/v1/models そして正確な ID をコピーしてください
生成の途中で OOM
コンテキストが VRAM に対して大きすぎます
Unsloth でコンテキストを減らしてください 設定 → 推論、またはより小さい量子化を使ってください
Codex に「ChatGPT でサインイン」ピッカーが表示される
素のまま起動した codex (なし
--oss)
終了(Ctrl+C)してから、次で再起動してください: codex --oss --profile unsloth_api。カスタムプロバイダではそれはスキップされます
WSL: 接続が拒否されました に localhost
WSL のネットワーク名前空間
で Windows ホストの IP を使用してください base_url、または WSL2 のミラーリングネットワーキングを有効にしてください
🦙 Llama.cpp チュートリアル
次も使えます: llama.cpp を直接。デプロイする必要があります llama-server これは、Mac、Linux、Windows デバイス上で LLM を効率的に実行・提供するためのオープンソースフレームワークです。モデルは次で提供されます: ポート 8001 で、すべてのエージェントのツール呼び出しがその単一の OpenAI 互換エンドポイント経由でルーティングされます。
llama.cpp のエンドポイントは次になります: ポート 8001 の代わりに 8888 (Unsloth Studio のデフォルト)。Codex を調整してください base_url に応じて ~/.codex/config.toml.
モデルをローカルにダウンロードして使用
次を使ってモデルをダウンロードします: hf CLI(pip install huggingface_hub hf_transfer)。次を使います: UD-Q4_K_XL サイズと精度のバランスが最適な量子化です。すべての Unsloth GGUF アップロードは、次の場所で見つけられます: こちらのコレクション。ダウンロードが止まる場合は、次を参照してください: https://hugging-face-hub-xet-debugging.md.
画像対応が必要ですか? 追加 --include "*mmproj-BF16*" を付けてビジョンプロジェクタも取得し、次を渡してください: --mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf に llama-server。Codex 自体はテキスト専用なので、これは任意です。
次を使いました: unsloth/gemma-4-26B-A4B-it-GGUF、しかし次のようなものなら何でも使えます: unsloth/Qwen3.6-35B-A3B-GGUF — 参照: Qwen3.6-35B-A3B.
Llama-server を起動
エージェント向けワークロードに Gemma-4-26B-A4B をデプロイするには、次を使用します: llama-server。Google 推奨のサンプリングパラメータ(temp 1.0, top_p 0.95, top_k 64)を適用し、次を有効にします: --jinja 適切なツール呼び出しサポートのためです。
新しいターミナルでこのコマンドを実行してください(次を使うか tmux 、または新しいターミナルを開いてください)。以下は 24GB GPU(RTX 4090)に余裕で収まるはずです (約18GB) --fit on も自動でオフロードされますが、性能が悪い場合は次を減らしてください: --ctx-size.
次を使いました: --cache-type-k q8_0 --cache-type-v q8_0 VRAM 使用量を減らすための KV キャッシュ量子化です。品質が下がる場合は、代わりに次を使ってください: bf16 代わりに(--cache-type-k bf16 --cache-type-v bf16)、ただし VRAM は 2 倍になります。
thinking を無効にすることは エージェント的なコーディングタスクでパフォーマンスを向上させることがあります。Gemma 4 はチャットテンプレート経由でデフォルトで thinking を有効にします。無効にするには、llama-server コマンドに次のフラグを追加してください:
macOS / Linux / WSL:
--chat-template-kwargs '{"enable_thinking":false}'
Windows PowerShell:
--chat-template-kwargs "{\"enable_thinking\":false}"
最終更新
役に立ちましたか?





