跳转到内容

将 Azure 模型接入 Codex

操作路径 已部署模型 → Playground → Continue in code

完成网页和 Python 测试后,可以把同一 Azure 部署接入 Codex。Codex 是编程助手,提供命令行等使用方式。这里配置的是 Codex 的模型提供方;ChatGPT 网页中的普通聊天没有本节所述的 config.toml 配置入口。

  1. 先完成前面的程序调用验证,再复制同一资源的 OpenAI 基础地址、部署名和 API key。无需为了接入客户端重复创建 Foundry 资源。
  2. 确认目标模型支持 Responses API 及客户端所需能力。先验证 Responses API,再按客户端兼容性选择模型;配置时使用自己的实际部署名称。
  3. 确定使用 Codex CLI 还是桌面客户端。下面给出可核对的 CLI 配置与验证方法;桌面客户端是否提供自定义提供方入口,以所安装版本为准。
参数填写规则
model填写 Azure 部署列表中的 Name,不是任意模型商品名。
base_url复制前面已经调用成功的基础地址,末尾保留 /openai/v1/。
env_key固定填写环境变量名称 AZURE_OPENAI_API_KEY,密钥在下一节单独设置。

操作路径 自己的电脑 → Codex CLI → 用户目录下的 .codex 文件夹

  1. 按中文官方文档准备 Node.js 和 npm,并安装 Codex CLI。Windows 用户同时核对该安装方式的 Windows 或 WSL 前提,WSL 内配置不等同于 Windows 用户目录配置。
  2. 运行下方第一组命令确认安装。打开用户级 ~/.codex/config.toml;Windows 原生环境通常为 C:\Users\<用户名>\.codex\config.toml,WSL 为其 Linux 用户主目录下的 .codex/config.toml。没有文件时创建它,注意扩展名不是 .txt。
  3. 如果已有配置,先备份,再合并下面的提供方设置。model 等顶层字段应放在第一个 [表名] 之前,不要重复添加同名字段或同名表。用自己的地址和部署名替换占位符。
终端窗口
npm install -g @openai/codex
codex --version
model = "<实际部署名称>"
model_provider = "azure"
model_reasoning_effort = "medium"
[model_providers.azure]
name = "Azure OpenAI"
base_url = "https://<资源名>.services.ai.azure.com/openai/v1/"
env_key = "AZURE_OPENAI_API_KEY"
wire_api = "responses"

操作路径 Windows 搜索 → 查看高级系统设置 → 高级 → 环境变量

  1. 在 Windows 搜索中输入“查看高级系统设置”,打开系统属性,选择“高级”标签,点击右下方“环境变量”。
  2. 在上半部分“用户变量”中点击“新建”。变量名填写 AZURE_OPENAI_API_KEY;变量值填写同一 Foundry 资源的 API key。若变量已存在,先核对用途,再编辑相应值。
  3. 逐层点击“确定”保存,然后关闭并重新打开需要读取它的终端或客户端。仅重开一个标签页不一定会刷新应用启动时继承的变量。
图 39  Windows 系统属性中的环境变量按钮
图 39 Windows 系统属性中的环境变量按钮 点击图片放大

也可以在 PowerShell 中设置用户变量。以下命令中的占位符需替换为自己的密钥;检查命令仅返回 True 或 False,不会输出密钥。

终端窗口
[Environment]::SetEnvironmentVariable(
"AZURE_OPENAI_API_KEY", "<自己的密钥>", "User")
$azureKeyPresent = -not [string]::IsNullOrWhiteSpace(
[Environment]::GetEnvironmentVariable("AZURE_OPENAI_API_KEY", "User"))
$azureKeyPresent

操作路径 重新打开终端 → 进入测试文件夹 → 启动 Codex

  1. 新开终端,进入一个无敏感文件的测试文件夹,运行 codex。若提示缺少环境变量,先检查配置文件所在环境与变量所在环境是否一致。
  2. 在交互界面输入 /status,核对模型名称和提供方配置。然后发送简单问题,例如“请只回复:Azure 连接成功”,确认收到完整回答。
  3. 结合客户端显示的提供方、实际请求所用配置及 Azure 侧对应部署的用量或诊断记录确认连接。仅看回答内容,不能证明请求已经经过 Azure。
终端窗口
codex
# 进入交互界面后输入 /status,再发送测试问题
现象检查方法
提示缺少 API keyenv_key 必须是变量名;应用应在设置变量后重新启动。
401 或 403核对密钥与资源是否匹配,避免读取了其他环境的旧变量。
404 或找不到部署核对 base_url、/openai/v1/ 和实际部署名。
仍使用原有模型提供方核对用户级配置、当前所选配置及组织管理设置。

桌面端参考:旧版客户端把模型入口放在输入框右下角。下图用于说明模型选择位置;图中 5.3-Codex 是旧环境的名称,应以自己的部署和当前客户端可选项为准。若当前版本没有对应入口,先按上方 CLI 流程验证。

图 40  旧版桌面客户端模型选择区示意
图 40 旧版桌面客户端模型选择区示意 点击图片放大