> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/jp/ji-ben/codex.md).

# OpenAI Codex でローカル LLM を実行する方法

このステップごとのガイドでは、オープンなLLMとAPIをOpenAI Codexに接続する方法を紹介します **完全にローカルで**、スクリーンショット付きです。Codexが必要とするのは、OpenAI Responses APIに対応したローカルエンドポイントだけです。Qwen、DeepSeek、Gemmaなど、任意のオープンモデルで実行できます。

このチュートリアルでは、次のオープンモデルを使用します： [Gemma 4](/docs/jp/moderu/gemma-4.md) と [Qwen3.5](/docs/jp/moderu/qwen3.5.md) これは高性能なエージェント向け・コーディング向けモデルです（24GB RAM/ユニファイドメモリ搭載デバイスで動作します）。推論には、 [Unsloth Studio](https://github.com/unslothai/unsloth) と [`llama.cpp`](https://github.com/ggml-org/llama.cpp) を使用します。macOS、Linux、Windows上でLLMを実行・提供できます。別のモデルに差し替える場合は、スクリプトとCodex設定内のモデル名を更新するだけです。

<a href="/pages/c87896ff7159620f4c01bb39fe9df1fd1a55274e#setup-codex" class="button primary" data-icon="openai">Codexのセットアップ</a><a href="/pages/c87896ff7159620f4c01bb39fe9df1fd1a55274e#quickstart-tutorials" class="button primary">📖 ローカルモデルのセットアップチュートリアル</a>

モデルの量子化には、Unslothの [**Dynamic GGUF**](/docs/jp/ji-ben/unsloth-dynamic-2.0-ggufs.md) を使用します。これにより、できるだけ精度を保ちながら量子化GGUFモデルを実行できます。

{% hint style="info" %}
Codexは2026年1月以降かなり変わりました。現在は [**OpenAI Responses API**](https://platform.openai.com/docs/api-reference/responses) **のみを**専用で使用しており、Chat Completionsのサポートは非推奨になりました。 [Unsloth Studio](#unsloth-tutorial) は両方をサポートしているので、ここでは `wire_api = "responses"` をこのガイド全体で使用します。
{% endhint %}

### &#x20;<i class="fa-openai">:openai:</i> Codexのセットアップ

[Codex](https://github.com/openai/codex) はOpenAIの公式コーディングエージェントで、ローカルで動作します。ChatGPT向けに設計されていますが、 **カスタムAPIエンドポイント**に対応しているため、ローカルLLMでも動作します。後ほど、Unsloth Studioの `/v1/responses` エンドポイントを、Studioが起動したら指定します。

{% tabs %}
{% tab title="Linux / WSL" %}
端末で次を実行してください：

```bash
apt update
sudo apt install nodejs npm -y
npm install -g @openai/codex
```

{% endtab %}

{% tab title="Windows" %}
Windows PowerShellで実行してください：

```powershell
winget install --id OpenAI.Codex
```

{% hint style="info" %}
**Codexデスクトップアプリの方がよいですか？** Microsoft Storeからインストール：

```powershell
winget install --id 9PLM9XGG6VKS --source msstore
```

または [Microsoftアプリストア](https://apps.microsoft.com/detail/9plm9xgg6vks)。アプリは同じ `%USERPROFILE%\.codex\config.toml`を読み込むため、後で設定するプロバイダ設定はどちらの場合にも適用されます。
{% endhint %}

{% hint style="info" %}
**WSLの方がよいですか？** PowerShellを管理者として開き、次を実行してください： `wsl --install`、再起動してから、Ubuntu内で上のLinuxタブに従ってください。Windowsホスト上のStudioにアクセスするには少しネットワークの工夫が必要です。StudioへのCodex接続のWSLヒントを参照してください。
{% endhint %}
{% endtab %}

{% tab title="macOS" %}
端末で次を実行してください：

<pre class="language-bash"><code class="lang-bash"><strong>bash brew install --cask codex
</strong></code></pre>

{% endtab %}
{% endtabs %}

インストールはこれで完了です - **まだ実行しないでください `codex` まだ**。そのまま実行すると、OpenAIの「ChatGPTでサインイン」選択画面に入ります（これはモーダルで、逃げ道はありません）。ローカルプロファイルを接続したら、 \
`codex --oss --profile unsloth_api` または `codex --oss --profile llama_cpp` カスタムプロバイダのデフォルトが `requires_openai_auth = false`なので、その画面は完全にスキップされます。先にローカルモデルサーバーを起動し、それからCodexをそのサーバーに対して起動してください。

## 📖 クイックスタートチュートリアル <a href="#quickstart-tutorials" id="quickstart-tutorials"></a>

始める前に、まず使用する特定のモデルのセットアップを完了する必要があります。ここでは [Unsloth](https://unsloth.ai/docs/new/studio) （Web UI）とllama.cppを使用します。これらは、Mac、Linux、Windowsデバイス上でLLMを実行・提供するためのオープンソースフレームワークです。

{% columns %}
{% column %}
始める前に、まず使用する特定のモデルのセットアップを完了する必要があります。ここでは [Unsloth](/docs/jp/xin-zhe/studio.md) （Web UI）とllama.cppを使用します。これらは、Mac、Linux、Windowsデバイス上でLLMを実行・提供するためのオープンソースフレームワークです。

Unslothには独自の自己修復 [ツール呼び出し](/docs/jp/xin-zhe/studio/chat.md#auto-healing-tool-calling) と [Web検索](/docs/jp/xin-zhe/studio/chat.md#code-execution) 機能もあります。右側に、Unslothに接続されたClaude Codeの例があります：
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/a3f1fdee7b4a96898eb3f45c6e5fb130adcb9c2e" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

<a href="/pages/c87896ff7159620f4c01bb39fe9df1fd1a55274e#unsloth-tutorial" class="button primary">🦥 Unslothチュートリアル</a><a href="/pages/c87896ff7159620f4c01bb39fe9df1fd1a55274e#llama.cpp-tutorial" class="button primary">🦙 llama.cppチュートリアル</a>

## 🦥 Unslothチュートリアル

このチュートリアルでは、UIを介してClaude Codeにローカルモデルを提供・接続するために [Unsloth](https://github.com/unslothai/unsloth)を使用します。UnslothはWindows、WSL、Linux、macOSで動作します。&#x20;

{% columns %}
{% column %}

* 検索、ダウンロード、 [GGUFを実行](/docs/jp/xin-zhe/studio.md#run-models-locally) およびsafetensorモデル
* [**自己修復** ツール呼び出し](/docs/jp/xin-zhe/studio.md#execute-code--heal-tool-calling) + **Web検索**
* [**コード実行**](/docs/jp/xin-zhe/studio.md#run-models-locally) （Python、Bash）
* [自動推論](/docs/jp/xin-zhe/studio.md#model-arena) パラメータ調整（temp、top-pなど）
* llama.cppによる高速なCPU + GPU推論
* [LLMを学習](/docs/jp/xin-zhe/studio.md#no-code-training) VRAMを70%削減しつつ2倍高速

インストール手順は以下を参照してください：
{% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="/files/c219df5fc541689071df02c2a6ac347cbb9a4847" alt=""><figcaption><p>Unslothで動作するQwen3.6 2-bitの例。</p></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% tabs %}
{% tab title="macOS" %}

#### ステップ1：Unslothの設定

次を起動してください `ターミナル` （Macから）。その後、以下のコマンドを入力してUnslothをインストールします。

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

Unslothが以下のように環境のセットアップと必要パッケージのインストールを開始します。 **Y** と `Enter` を押してください。Studioの起動を今すぐ許可するか聞かれたら、これを選びます。これにより、Unslothがローカルの **8888** ポートで起動します。

<figure><img src="/files/911b9883060def0d092c143792f31dd9552de2ac" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
インストール中にUnslothを起動しない選択をした場合でも、いつでもUnslothアプリを次のコマンドで起動できます： `unsloth studio -p 8888` 。PC/コンピューター外のクライアントからUnslothインスタンスにアクセスできるようにしたい場合は、 `-H 0.0.0.0` を `unsloth studio` コマンドに追加してください。
{% endhint %}

#### ステップ2：Unslothを起動

お好みのブラウザを開いて、次を入力してください： `http://127.0.0.1:8888`  をURL欄に入力します。Unslothのインストールが初めての場合は、パスワードページに移動し、新しいパスワードを作成する必要があります。その後、Unslothは下のようにチャットページで開くはずです。

<figure><img src="/files/22712a19788622c5a19fe86f6e5269b13c1d20d7" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Windows" %}

#### ステップ1：Unslothの設定

スタートメニューを開き、次を検索してください： `PowerShell`を起動します。インストールコマンドをコピーして入力してください：

```powershell
irm https://unsloth.ai/install.ps1 | iex
```

自動的にインストールが始まります。インストールが終わると、PowerShellでUnsloth Studioを起動するか尋ねられま&#x3059;**.**

<figure><img src="/files/911b9883060def0d092c143792f31dd9552de2ac" alt="" width="375"><figcaption></figcaption></figure>

次のコマンドでも起動できます：

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

{% hint style="info" %}
PC/コンピューター外のクライアントからインスタンスにアクセスできるようにしたい場合は、\
次を追加してください： `-H 0.0.0.0` を `unsloth studio` コマンドに追加してください。
{% endhint %}

#### ステップ2：Unslothを起動

開いてください `http://127.0.0.1:8888` をブラウザで開きます。初回起動時は、新しいパスワードを作成してチャットページに進んでください。 **Unsloth Studio** がインストールされ、使用できるようになりました。

<figure><img src="/files/22712a19788622c5a19fe86f6e5269b13c1d20d7" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Linux、WSL" %}

#### ステップ1：Unslothの設定

{% tabs %}
{% tab title="Linux" %}
端末アプリケーションを開いてください。次のキーで起動できます： `Ctrl + Alt + T`、または次を検索して： `Terminal` システムのアプリケーションメニューで見つけてください。
{% endtab %}

{% tab title="WSL" %}
Windowsのスタートメニューをクリックし、インストール済みディストロの名前（例： `Ubuntu`）を入力して、開いてください。

{% hint style="warning" %}
WSLでは **WSL**、 **NVIDIAドライバ** がインストールされていることを確認し、 **Windows** （WSL内ではなく）また、 **CUDA Toolkit** がWSLディストリ内にインストールされていることを確認してください。詳細は以下のシステム要件を参照してください。
{% endhint %}
{% endtab %}
{% endtabs %}

インストールするには、インストールコマンドをコピーして実行してください：

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

次に：

1. 端末ウィンドウ内をクリックし、
2. 次のキーでコマンドを貼り付け： `Ctrl + Shift + V`
3. を `Enter`

Unslothが以下のように環境のセットアップと必要パッケージのインストールを開始します。 **Y** と `Enter` を押してください。Studioの起動を今すぐ許可するか尋ねられたら、これを選びます。これにより、Unslothがローカルの **8888** ポートで起動します。

<figure><img src="/files/4132a3ded7899513c5d8033924296e8f7b59910b" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
インストール中にUnslothを起動しない選択をした場合でも、いつでもUnslothアプリを次のコマンドで起動できます： `unsloth studio -p 8888` 。PC/コンピューター外のクライアントからUnslothインスタンスにアクセスできるようにしたい場合は、 `-H 0.0.0.0` を `unsloth studio` コマンドに追加してください。
{% endhint %}

#### ステップ2：Unslothを起動

お好みのブラウザを開いて、次を入力してください： `http://127.0.0.1:8888`  をURL欄に入力します。Unslothのインストールが初めての場合は、パスワードページに移動し、新しいパスワードを作成する必要があります。その後、Unslothは下のようにチャットページで開くはずです。

<figure><img src="/files/fe873fdd0e62c5c0973e8bd102e5314c44f2fafd" alt="" width="375"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### モデルの読み込み + APIガイド

{% stepper %}
{% step %}

#### モデルを選択

APIを使う前に、次の **モデルを選択** ドロップダウンからモデルを読み込みます。

<figure><img src="/files/e29038cb1426e393aee3cb144c904bc7a9438f27" alt=""><figcaption></figcaption></figure>

このガイドでは、次を使用します： `unsloth/gemma-4-26B-A4B-it-GGUF` 推奨の `UD-Q4_K_XL` 量子化。
{% endstep %}

{% step %}

#### モデルをテスト

クライアントを使う前に、短いメッセージを送ってください：

<div data-with-frame="true"><figure><img src="/files/6037fb7bcfd78472b5ddadc37e90255377de6580" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
これで、モデルが正しく読み込まれ、応答可能であることを確認できます。
{% endhint %}
{% endstep %}

{% step %}

#### **Unsloth APIキー**

Studioで次を開きます： **Settings → API** APIキーを表示または作成します。Studioをヘッドレスで次のように起動すると、 `unsloth run`、キーはコンソールにも次のように出力されます： `sk-unsloth-...`.

<figure><img src="/files/ff7840d9317331aed891f8636717121d17346f61" alt=""><figcaption></figcaption></figure>

APIキーはパスワードのように扱い、スクリーンショットやリポジトリに公開しないでください。
{% endstep %}
{% endstepper %}

### オプション：ランタイム設定を調整

モデルを次のコマンドで起動するときに、追加のランタイムオプションを指定できます： `unsloth run`.

```bash
# 推論を有効にし、より大きいコンテキストウィンドウを使用
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \\
  --reasoning on \\
  -c 131072
```

推論対応モデルは次で起動できます： `--reasoning on` または `--reasoning off`。 `-c` フラグは利用可能なコンテキストウィンドウを制御します。

```bash
# カスタムポートでコーディングエージェント向けに提供
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \\
  --disable-tools \\
  -p 8888
```

次を使用します： `-p` APIを別のポートで実行する必要がある場合。

{% hint style="info" %}
外部コーディングエージェントを動かす場合は、 `--disable-tools`を追加してください。これによりUnsloth Studioはパススルーに切り替わり、Studioが組み込みツールをサーバー側で実行する代わりに、エージェント自身のツールが転送され、エージェントが実行するツール呼び出しとして返されます。
{% endhint %}

より高度なランタイム設定については、メインの [APIチューニング](https://unsloth.ai/docs/basics/api#unsloth-run-command) セクションを参照してください。

## ⚙️ Codexを接続

Codex用のローカルLLMを設定できたので、次にCodexがあなたのツールで動作するよう設定します。接続方法は、次の `unsloth start` で簡単に行うか、 [手動で行えます](#connect-manually).

#### ⚡ 次で接続： `unsloth start`

Codexをローカルモデルに向ける最速の方法は、 `unsloth start` コマンドです。Unslothが起動し、GGUFモデルが読み込まれている状態で、次を実行します：

```bash
unsloth start codex
```

これによりAPIキーが生成され、 `unsloth_api` プロバイダが `~/.codex/config.toml` に書き込まれ、対応するプロファイルも作成され、 `UNSLOTH_STUDIO_AUTH_TOKEN`が設定され、 `codex --oss --profile unsloth_api` 読み込んだモデルに対してCodexが起動します。 `config.toml` 手動で編集したりエクスポートしたりする必要はありません。

{% hint style="warning" %}
CodexはResponses API経由でストリームしますが、Unslothがそれを提供するのは `llama-server`だけなので、Codexには **GGUF** モデルが必要です。非GGUFモデルが読み込まれている場合、接続は停止し、 `-GGUF` 版を提案します。
{% endhint %}

デフォルトでは、Unslothにすでに読み込まれているモデルを使用します。特定のモデルを読み込んで使うには、 `--model`:

```bash
unsloth start codex --model unsloth/gemma-4-26B-A4B-it-GGUF
```

別のマシン上のUnslothに接続しますか？キーを作成し（**Settings → API**）次を付けて渡します： `--api-key`その後、 `UNSLOTH_STUDIO_URL` をサーバーに向けます。

#### 🔌 手動で接続

このセクションは手動設定用です。Unsloth Studio、llama.cpp、または他のOpenAI互換ローカルサーバーを使う場合でも同じです。Codexに必要なのは3つの値です： **APIキー**、 **ベースURL**、そして **モデル名**。以下の例ではUnsloth Studioを使用しています。llama.cppでは、同じ形式で `llama_cpp` プロファイルをllama.cppのセクションで使ってください。

{% stepper %}
{% step %}

#### **Unslothプロバイダを設定**

Codexが探すのは `~/.codex/config.toml` （macOS/Linux/WSL）または `%USERPROFILE%\.codex\config.toml` （Windows）。作成または編集してください：

{% code title="\~/.codex/config.toml" overflow="wrap" %}

```toml
# `codex --oss`で使用されるデフォルトのローカルプロバイダ
oss_provider = "unsloth_api"

[model_providers.unsloth_api]
name                  = "Unsloth Studio"
base_url              = "http://localhost:8888/v1"
env_key               = "UNSLOTH_STUDIO_AUTH_TOKEN"
wire_api              = "responses"
requires_openai_auth  = false
```

{% endcode %}

次に、Unsloth用のCodexプロファイルを作成します：

{% code title="\~/.codex/unsloth\_api.config.toml" overflow="wrap" %}

```toml
model_provider = "unsloth_api"
model = "unsloth/gemma-4-26B-A4B-it-GGUF"
```

{% endcode %}

{% hint style="info" %}
`model` は、サーバーが次の場所で報告する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を使ってください。
{% endhint %}

{% hint style="info" %}
この設定は `unsloth_api` Codexのモデルプロバイダを登録し、Unsloth Studioを指し示し、 `unsloth_api` を次のデフォルトのローカルプロバイダとして設定します： `codex --oss`。別の `unsloth_api` プロファイルは、Codexを次で起動したときにのみUnslothプロバイダとモデルを選択します： `--profile unsloth_api`ので、通常のCodex設定は変更されません。Codexは、次という名前の環境変数からAPIキーを読み取ります： `UNSLOTH_STUDIO_AUTH_TOKEN`本物のキーは次のステップで設定します。
{% endhint %}

| 項目                     | 内容                                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------------- |
| `base_url`             | ローカルサーバーのエンドポイント + `/v1`                                                                          |
| `env_key`              | **名前** CodexがAPIキーを読み取る環境変数の名前。キーそのものではありません。                                                     |
| `wire_api`             | `responses`。Codexは現在、OpenAIのResponses APIを専用で使用しています。                                             |
| `requires_openai_auth` | `false` にすると、このプロバイダではCodexが「ChatGPTでサインイン」画面をスキップします。デフォルトはすでに `false`ですが、明示しておきます。              |
| `model`                | サーバーが公開しているモデルIDです。 `GET <base_url>/models` で正確な文字列を確認してください。                                     |
| `oss_provider`         | <p>設定します <code>unsloth\_api</code> をCodexを次で起動したときのデフォルトのローカルプロバイダとして<br> <code>--oss</code>.</p> |
| `requires_openai_auth` | `false` にすると、このプロバイダではCodexが「ChatGPTでサインイン」画面をスキップします。                                            |

{% hint style="warning" %}
OpenAIは `wire_api = "chat"` のサポートを削除しました。必ず `wire_api = "responses"`を使用してください。 `wire_api = "chat"`を設定すると、Codexは次のエラーで起動を拒否します： `` `wire_api = "chat"` はもうサポートされていません。修正方法：プロバイダ設定で `wire_api = "responses"` を設定してください。 ``
{% endhint %}

{% hint style="info" %}
切り替える各Unslothモデルごとに、複数のプロファイルファイルを作成できます。使いたいものを次で起動します： `codex --profile <profile-name>`.
{% endhint %}
{% endstep %}

{% step %}

#### APIキーの環境変数を設定する

あなたが書いたのと同じ環境変数名を使用してください `env_key`。上の Unsloth Studio の例では、 `env_key = "UNSLOTH_STUDIO_AUTH_TOKEN"`なので、 `UNSLOTH_STUDIO_AUTH_TOKEN` を Codex を実行するのと同じ端末で設定してください:

{% code title="MacOS / Linux / WSL" %}

```bash
export UNSLOTH_STUDIO_AUTH_TOKEN=YOUR_TOKEN
```

{% endcode %}

{% code title="Windows PowerShell" %}

```powershell
$env:UNSLOTH_STUDIO_AUTH_TOKEN = "YOUR_TOKEN"
```

{% endcode %}

もし `env_key`を変更したなら、コマンド内の変数名も変更してください。たとえば、 `env_key = "LLAMA_CPP_API_KEY"` を使う llama.cpp のプロファイルでは `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`.

{% hint style="warning" %}
**Windows で Unsloth を使いながら WSL 内で Codex を実行していますか？** WSL は別のネットワーク名前空間なので、 `localhost` を WSL 内から使っても Unsloth には届きません。 `config.toml` を Windows ホストの IP に変更してください:

```bash
# WSL 内から Windows ホストの IP を取得する
ip route | grep default | awk '{print $3}'
```

次に `base_url = "http://<その-ip>:8888/v1"`を設定してください。WSL2 のミラーネットワーキングが有効（`.wslconfig` → `networkingMode=mirrored`), `localhost` ）なら、ネイティブの Windows と同じように動作します。
{% endhint %}
{% endstep %}

{% step %}

#### **Codex を起動する**

```bash
mkdir my-project && cd my-project
codex --oss --profile unsloth_api
```

{% hint style="info" %}
**新しいディレクトリでの初回起動** Codex が尋ねます *"このディレクトリの内容を信頼しますか？"*  -  *はい、続行。* これは cwd ごとの信頼プロンプトで、ChatGPT のログインではありません（そちらは \`requires\_openai\_auth = false\` のためスキップされます）。同じディレクトリでの次回以降の起動ではこのプロンプトは表示されません。
{% endhint %}

<figure><img src="/files/304f0637e914771836fb6ec8fc2351665066e062" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**表示される `のモデルメタデータ`  unsloth/gemma-4-26B-A4B  `が見つかりません。フォールバックのメタデータに切り替えています`?** Codex には、OpenAI の自社モデル向けにコンテキストウィンドウ、ツール対応、入力モダリティの組み込み表があります。それ以外は安全な既定値にフォールバックします。この警告は OpenAI 以外の各 slug につきセッションごとに 1 回だけ表示されます。動作には支障ないので無視して構いません。

**修正するには:** 追加して `model_context_window = 131072` を `~/.codex/config.toml` の先頭に加えて、Codex がフォールバック推定ではなく Gemma 4 の実際の 128K コンテキストを使うようにします。ツール対応や入力モダリティも完全に制御したい場合は、 `model_catalog_json` を `[profiles.unsloth_api]` 内にあるカスタムの `ModelInfo` エントリを含む JSON ファイルに指定してください。
{% endhint %}

この `--profile unsloth_api` フラグは Codex に `~/.codex/unsloth_api.config.toml`を読み込ませるよう指示します。これにより Unsloth Studio のプロバイダとモデルが選択されます。 `--oss` を追加して Codex のローカル OSS プロバイダ経由のフローで実行します。モデル名は Codex のステータスバーに表示されます。

<figure><img src="/files/77b7d2484bf81b08190a4953441acd87022887e1" alt=""><figcaption></figcaption></figure>

追加して `--search` を有効にします:

```bash
codex --oss --profile unsloth_api --search
```

すべての承認プロンプトを回避するには **（注意: これにより、Codex はどんなコードでも承認なしで好きなように実行するようになります！）**:

{% code overflow="wrap" %}

```bash
codex --oss --profile unsloth_api --search --dangerously-bypass-approvals-and-sandbox
```

{% endcode %}
{% endstep %}
{% endstepper %}

### 実際のタスクを試す

シンプルな Unsloth のファインチューニングをインストールして実行するために、このプロンプトを試してください:

{% code overflow="wrap" %}

```
作業できるのは cwd の project/ のみです。AGENTS.md を探さないでください - これがそれです。
uv を使った仮想環境経由で Unsloth をインストールします。
https://unsloth.ai/docs/get-started/install/pip-install を参照して方法を確認してください（取得して読んでください）。
その後、
https://github.com/unslothai/unsloth に記載された簡単な Unsloth のファインチューニングを実行してください。GPU は 1 枚使えます。
```

{% endcode %}

そして少し待てば、Unsloth でうまくファインチューニングされたモデルが見えるはずです！

<figure><img src="/files/34e1b35a0b3053029a475482eb65f50563bfe855" alt=""><figcaption></figcaption></figure>

### 切断または元に戻す

〜なしで Codex を起動する `-p unsloth_api` と、既定のプロバイダが使われます。あるいは `[profiles.unsloth_api]` と `[model_providers.unsloth_api]` ブロックを `~/.codex/config.toml`.

```bash
unset UNSLOTH_STUDIO_AUTH_TOKEN
```

Unsloth Studio はそのまま起動し続けても、停止しても構いません。停止中は何も横取りしません。

### トラブルシューティング

| 症状                                 | 考えられる原因                                                        | 対処法                                                                                          |
| ---------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `... のモデルメタデータが見つかりません`            | OpenAI 以外の slug なので、組み込みメタデータはありません                            | 無害な警告です。副作用を消したい場合は `model_context_window = 131072` 内の `~/.codex/config.toml`を設定するか、         |
| Codex が GPT だと言う                   | Codex は OpenAI を参照するシステムプロンプトを注入し、ローカルモデルはそれをそのまま返す            | ルーティングのバグではありません。Studio のアクティビティパネルで確認してください。自己申告を変えたい場合はシステムプロンプトを上書きしてください。                |
| `接続が拒否されました`                       | Studio が起動していないか、ポートが間違っている                                    | Studio が `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 に対して大きすぎる                                         | Studio でコンテキストを減らす **設定 → 推論**、またはより小さい量子化を使う                                                |
| Codex に「ChatGPT でサインイン」ピッカーが表示される  | <p>素のまま起動した <code>codex</code> （なし<br> <code>--oss</code>)</p> | 終了（Ctrl+C）してから、 `codex --oss --profile unsloth_api`で再起動してください。カスタムプロバイダではそれはスキップされます。        |
| ツール呼び出しが不安定                        | 自己修復フォールバックが必要                                                 | Studio の [自己修復ツール呼び出し](file:///1382377/new/studio/#execute-code--heal-tool-calling) は既定で有効です |
| WSL: `接続が拒否されました` に `localhost`    | WSL のネットワーク名前空間                                                | Windows ホストの IP を `base_url`で使うか、WSL2 のミラーネットワーキングを有効にしてください                                 |

## 🦙 Llama.cpp チュートリアル

また `llama.cpp` 直接使うこともできます。デプロイする必要があるのは `llama-server` で、Mac、Linux、Windows デバイス上で LLM を効率よく実行・提供するためのオープンソースフレームワークです。モデルは **ポート 8001** で提供され、すべてのエージェントのツール呼び出しはその単一の OpenAI 互換エンドポイントを経由します。

{% hint style="info" %}
llama.cpp のエンドポイントは **ポート 8001** 〜の代わりに `8888` （Unsloth Studio の既定）になります。Codex の `base_url` を `~/.codex/config.toml`.
{% endhint %}

{% stepper %}
{% step %}

#### **llama.cpp のインストール**

インストールする必要があります `llama.cpp` Codex で使うローカル LLM をデプロイ/提供するために。正しい GPU バインディングと最大性能のため、公式のビルド手順に従います。GPU がない、または CPU 推論だけしたい場合は `-DGGML_CUDA=ON` に `-DGGML_CUDA=OFF` に変更してください。 **Apple Mac / Metal デバイスの場合**、 `-DGGML_CUDA=OFF` を設定し、そのまま続けてください。Metal 対応は既定で有効です。

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev git-all -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \\
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first \\
    --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

{% endstep %}

{% step %}

#### **モデルをローカルでダウンロードして使う**

モデルを `hf` CLI（`pip install huggingface_hub hf_transfer`）でダウンロードします。最適なサイズ/精度のバランスのために **UD-Q4\_K\_XL** 量子化を使います。Unsloth の GGUF アップロードはすべて、 [こちらのコレクション](file:///1382377/get-started/unsloth-model-catalog.md)で見つけられます。ダウンロードが止まった場合は [https://hugging-face-hub-xet-debugging.md](https://hugging-face-hub-xet-debugging.md "mention").

```bash
hf download unsloth/gemma-4-26B-A4B-it-GGUF \\
    --local-dir unsloth/gemma-4-26B-A4B-it-GGUF \\
    --include "*UD-Q4_K_XL*"
```

{% hint style="info" %}
**ビジョン対応が必要ですか？** 追加して `を使ってビジョンプロジェクタも取得し、` も渡してください `--mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf` に `llama-server`。Codex 自体はテキストのみなので、これは任意です。
{% endhint %}

{% hint style="success" %}
使用したのは `unsloth/gemma-4-26B-A4B-it-GGUF`ですが、 `unsloth/Qwen3.6-35B-A3B-GGUF` のようなものなら何でも使えます -  [Qwen3.6-35B-A3B](/docs/jp/moderu/qwen3.6.md).
{% endhint %}
{% endstep %}

{% step %}

#### **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）に** で余裕をもって収まるはずです。 `--fit on` では自動オフロードも行われますが、パフォーマンスが悪い場合は `--ctx-size`.

```bash
./llama.cpp/llama-server \\
    --model unsloth/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \\
    --alias "unsloth/gemma-4-26B-A4B" \\
    --temp 1.0 \\
    --top-p 0.95 \\
    --top-k 64 \\
    --port 8001 \\
    --kv-unified \\
    --cache-type-k q8_0 --cache-type-v q8_0 \\
    --batch-size 4096 --ubatch-size 1024
```

{% hint style="info" %}
使用したのは `--cache-type-k q8_0 --cache-type-v q8_0` は VRAM 使用量を減らすための KV キャッシュ量子化です。品質が下がるなら、代わりに `bf16` を使ってください（`--cache-type-k bf16 --cache-type-v bf16`）が、VRAM は 2 倍になります。
{% endhint %}

{% hint style="success" %}
**思考を無効化する** と、エージェント的なコーディング作業の性能を向上させることがあります。Gemma 4 は chat template 経由で既定で思考を有効にします。無効にするには、次のフラグを llama-server コマンドに追加してください:

**MacOS / Linux / WSL:**

`--chat-template-kwargs '{"enable_thinking":false}'`

**Windows PowerShell:**

`--chat-template-kwargs "{\"enable_thinking\":false}"`
{% endhint %}
{% endstep %}

{% step %}

#### **Codex をポート 8001 に向ける**

あなたの `~/.codex/config.toml` を編集して、llama-server のポートを使うようにしてください:

{% code title="\~/.codex/config.toml" %}

```toml
[model_providers.llama_cpp]
name      = "llama.cpp"
base_url  = "http://localhost:8001/v1"
env_key   = "LLAMA_CPP_API_KEY"
wire_api  = "responses"
```

{% endcode %}

それから新しいプロファイルで起動します:

```bash
codex --oss llama_cpp
```

llama-server は実際のキーを必要としないので、認証トークンは何でも設定できます:

{% code title="MacOS / Linux / WSL" %}

```bash
export LLAMA_CPP_API_KEY=sk-no-key-required
```

{% endcode %}

{% code title="Windows PowerShell" %}

```powershell
$env:LLAMA_CPP_API_KEY = "sk-no-key-required"
```

{% endcode %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/jp/ji-ben/codex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
