前回、OpenAI Codex CLIのJS版のバックエンドにAzure OpenAIを使うようにしていましたが、Rust版も最近のアップデートでAzure OpenAIに配慮したバックエンドを設定できるようになったのでメモ。
Codex CLI(Rust版)では、OpenAIのAPI互換であれば指定して使うことができます。(前はプロバイダ実装を指定できるような作りを頑張ったようですが、結局はOpenAI API互換が前提だったので一旦はその方向になったようです)
さて、使うための設定ですが、~/.codex/config.toml に以下のようにします。
{リソース名}, {デプロイ名}は適宜置き換えれば使えますが、responses(新しめなAPI)を使いたい場合、o4-miniといった新しいモデルはまだ使えないようなので注意です。
provider = "azure"
model_provider = "azure"
model = "{デプロイ名}"
[model_providers.azure]
name = "Azure"
env_key = "AZURE_OPENAI_API_KEY"
### chat
# ref: https://learn.microsoft.com/ja-jp/azure/ai-services/openai/reference
base_url = "https://{リソース名}.openai.azure.com/openai/deployments/{デプロイ名}"
query_params = { api-version = "2025-04-01-preview" }
wire_api = "chat"
### responses
# ref: https://learn.microsoft.com/ja-jp/azure/ai-services/openai/reference-preview-latest#create-response
# 現時点では o4-mini は未サポートっぽい?
#base_url = "https://{リソース名}.openai.azure.com/openai/v1"
#query_params = { api-version = "preview" }
#wire_api = "responses"
設定の仕組みについてメモ。
model_provider="azureの設定により[model_providers.azure]の設定が有効になりますwire_api = "chat"の場合、base_urlの指定はデプロイ名までになります。wire_api = "responses"の場合、model = "{デプロイ名}"にはAzure OpenAIで作成したデプロイ名を指定しておく必要があります(chatの場合はbase_urlに埋め込む必要があるので使われません)
ちなみに、Claude Codeのほうが機能豊富で定額プランもあるので、Coding Agentを触れてみたい人はそっちを使い始めたほうが絶対にいいと思います。
私はNodeJSに依存するのがどうも好きではないので… devcontainerに持ち込むのも困るし… 頑張ってほしい。