OpenAI Codex CLIで任意のプロバイダーを利用する方法 〜Ollamaでgpt-ossを使う〜
1. はじめに
OpenAI Codex CLI は、ターミナルから直接 AI モデルにアクセスできる便利なツールです。通常は OpenAI のモデルを利用しますが、設定を変更することで任意のプロバイダーを利用することも可能です。
特に注目したいのが、ローカルで LLM を動かせる環境「Ollama」と、OpenAI が公開したオープンウェイトモデル「gpt-oss」です。本記事では Codex CLI の柔軟性を活かし、「Ollama で gpt-oss を使う」 という最新かつ引きの強い事例を軸に、任意プロバイダー活用のポイントを解説します。
2. Codex CLIの柔軟なプロバイダー設定
Codex CLI は config.json
または config.yaml
によって利用するプロバイダーを定義します。デフォルトでは OpenAI API が設定されていますが、この仕組みを使えばクラウド API、オンプレミスのモデル、ローカル実行環境など、さまざまなプロバイダーを統合できます。
つまり、Codex CLI は単なる「OpenAI専用ツール」ではなく、共通のCLIから異なるバックエンドを切り替えられる統合クライアントとして使えるのです。
図解:プロバイダー切り替えのイメージ
3. 任意プロバイダーの追加方法
任意のプロバイダーを利用するには、設定ファイルの providers
セクションを編集します。基本構造は以下の通りです。
{
"providers": [
{
"NAME": "provider名",
"BASE_URL": "https://api.example.com/v1",
"API_KEY": "your-api-key-here",
"MODEL": "model-identifier"
}
]
}
- NAME: CLI で切り替える際に使う名前
- BASE_URL: API のエンドポイント
- API_KEY: 認証が必要な場合のキー(不要なら省略可能)
- MODEL: 呼び出したいモデル名
この仕組みを応用すれば、Ollama や社内APIを Codex CLI から直接利用できます。
4. 具体例:Ollamaでgpt-ossを使う
Ollama はローカルで LLM を簡単に動かせる環境で、OpenAI が公開したオープンモデル「gpt-oss(20B / 120B)」をサポートしています。これを Codex CLI に統合すると、最新モデルを自分のマシン上で利用できるようになります。
config.json
)
設定例({
"providers": [
{
"NAME": "ollama-gpt-oss",
"BASE_URL": "http://localhost:11434/v1",
"API_KEY": "",
"MODEL": "gpt-oss"
}
]
}
config.yaml
)
設定例(providers:
- NAME: ollama-gpt-oss
BASE_URL: http://localhost:11434/v1
API_KEY: ""
MODEL: gpt-oss
Ollama を起動した状態で Codex CLI を実行し、--provider ollama-gpt-oss
を指定すれば、gpt-oss モデルをローカルで利用できます。
図解:Codex CLI と Ollama / gpt-oss の関係
この図は以下を示しています:
- Codex CLI は設定ファイルを通じて複数のプロバイダーを切り替え可能
-
--provider
オプションで OpenAI API か Ollama を選択できる - Ollama を経由することで gpt-oss をローカルで動かせる
5. 複数プロバイダーの使い分け
複数のプロバイダーを設定しておけば、Codex CLI から簡単に切り替えて利用できます。例えば、以下のように --provider
オプションを指定します。
OpenAI(クラウド)を利用する場合
codex --provider openai "Write a Python function to calculate Fibonacci numbers."
Ollama + gpt-oss(ローカル)を利用する場合
codex --provider ollama-gpt-oss "Write a Python function to calculate Fibonacci numbers."
図解:クラウドとローカルの使い分け
このように、同じコマンドライン操作でクラウドとローカルを切り替えられるのが Codex CLI の大きな強みです。
6. トラブルシューティング
① モデル名の不一致エラー
> codex --provider ollama-gpt-oss "Hello"
Error: model not found: gpt-oss
解決策: ollama pull gpt-oss
を実行し、設定を確認する
② メモリ不足エラー
> codex --provider ollama-gpt-oss "Summarize this text"
Error: CUDA out of memory. Tried to allocate 2.00 GiB
解決策: 量子化版を使う/ハードウェア強化/--num-ctx
を短く指定
③ API Key 設定不要時のエラー
> codex --provider ollama-gpt-oss "Test connection"
Error: invalid API key
解決策: API_KEY
を空文字にする
7. 応用編:自作プロキシで複数モデルを一元化する
Codex CLI のプロバイダー設定を「自作プロキシ」に向けると、CLI 側の設定は固定のまま、裏側で OpenAI/Ollama(gpt-oss)など複数モデルを切り替えられます。
図解:Codex CLI → 自作プロキシ → 複数モデル
簡単なTSサンプル
詳細な実装は別記事にて説明しますが、最小構成のサンプルを示します。
import { Hono } from 'hono'
const app = new Hono()
const OPENAI_API_KEY = process.env.OPENAI_API_KEY || ''
const OPENAI_BASE_URL = process.env.OPENAI_BASE_URL || 'https://api.openai.com/v1'
const OLLAMA_BASE_URL = process.env.OLLAMA_BASE_URL || 'http://localhost:11434/v1'
app.post('/v1/chat/completions', async (c) => {
const body = await c.req.json()
const model: string = body?.model || ''
const isOllama = model.includes('gpt-oss')
const upstream = isOllama ? OLLAMA_BASE_URL : OPENAI_BASE_URL
const headers: Record<string, string> = { 'content-type': 'application/json' }
if (!isOllama && OPENAI_API_KEY) headers['authorization'] = `Bearer ${OPENAI_API_KEY}`
const res = await fetch(`${upstream}/chat/completions`, {
method: 'POST',
headers,
body: JSON.stringify(body)
})
return c.body(await res.arrayBuffer(), res.status, Object.fromEntries(res.headers))
})
Codex CLI 側の設定例:
{
"providers": [
{
"NAME": "internal-proxy",
"BASE_URL": "http://localhost:8787/v1",
"API_KEY": "not-required",
"MODEL": "gpt-oss"
}
]
}
8. まとめ
Codex CLI は、OpenAI のモデルだけでなく任意のプロバイダーを柔軟に統合できる強力なツールです。特に 「Ollama × gpt-oss」 という組み合わせは、最新モデルをローカルで動かせる点で引きが強く、コスト効率や開発の自由度を大きく高めてくれます。
さらに、自作プロキシを組み合わせれば、複数のモデルや環境を一元的に管理でき、企業利用や大規模開発にも耐えうる構成が実現できます。今後はローカル/クラウドを問わず多様なモデルを Codex CLI からシームレスに扱う流れが加速していくでしょう。
※gpt-oss は OpenAI が 2025年8月5日に公開した“open-weight(オープンウェイト)”モデル群(gpt-oss-120b / gpt-oss-20b)です。
関連記事一覧(シリーズ全体)
本シリーズは OpenAI Codex CLI を「任意のプロバイダー」で利用するために
自作プロキシを実装・拡張・運用していく流れを段階的に解説したものです。
最初はOllamaでのgpt-oss利用から始まり、最終的にはエンタープライズ運用を意識した
マルチテナント対応やアクセス制御までカバーしています。
-
OpenAI Codex CLIで任意のプロバイダーを利用する方法 〜Ollamaでgpt-ossを使う〜
― Codex CLIに「Ollama」を接続し、OSSモデルを利用する最初のステップ。 -
Codex CLI用 自作プロキシの詳細実装編
― CLIとプロバイダー間をつなぐ「自作プロキシ」の構成・設計・コード例を徹底解説。 -
Codex CLI用 自作プロキシ拡張編 〜ストリーミング対応とリトライ戦略〜
― stream:true による逐次出力、エラーリカバリ戦略など実運用で必要となる拡張を追加。 -
Codex CLI用 自作プロキシ 運用編 〜監視とメトリクス収集(Prometheus/Grafana連携)〜
― 運用段階で不可欠なメトリクス収集や可視化を導入し、利用状況をリアルタイムで監視。 -
Codex CLI用 自作プロキシ 運用編 〜マルチテナント対応とアクセス制御〜
― 複数利用者やチームでの共有を見据え、テナント分離・アクセス権限管理の仕組みを導入。
Discussion