codex 配置自定义模型

模型与算力

给 Codex 用户讲清接入自定义模型的完整流程:从拿到接口地址与密钥,到配置、生效、验证与出错回退,全程不依赖具体版本号。

你大概遇到过这种情况:Codex 用官方默认模型挺顺手,但你想换成自己手上那家中转站或云厂商的模型,省钱、走内网、或者单纯想试别的模型,结果打开配置文件不知道从哪下手。这篇不吹概念,按顺序把「接口信息准备 → 写配置 → 让配置生效 → 验证是否真的走通 → 出错怎么退回去」走一遍,每步都给你可核对的动作。

你大概遇到过这种情况:Codex 用官方默认模型挺顺手,但你想换成自己手上那家中转站或云厂商的模型,省钱、走内网、或者单纯想试别的模型,结果打开配置文件不知道从哪下手。这篇不吹概念,按顺序把「接口信息准备 → 写配置 → 让配置生效 → 验证是否真的走通 → 出错怎么退回去」走一遍,每步都给你可核对的动作。

先说清楚边界:这套流程解决的是「让 Codex 按你指定的服务地址和模型名发请求」,它不判断那家服务稳不稳、贵不贵、合不合规。选哪家、值不值得换,属于另一件事,得靠你自己比对当时的行情和可用性数据。所以下面所有跟数字有关的地方,一律让你去站内页面看当时的实际情况,而不是背一个结论。

先把接口信息凑齐,别急着改配置

改配置之前,先在纸上(或者记事本里)凑齐四样东西:接口基址、模型标识、密钥、以及这家服务兼容哪种调用协议。OpenAI 兼容是大多数中转站和自建服务支持的通用形态,但并不是全都如此。凑不齐这四样,你就是在盲改,报错了也不知道是哪一项的问题。

接口基址
服务方给的请求根地址,通常要带版本路径段,多写少写都会 404
模型标识
调用时填的那个名字,不等于宣传页上的名字,以服务方列表为准
密钥
鉴权用的那串字符,注意权限范围和额度
协议类型
声明按哪种格式收发请求,声明和服务不匹配会直接报错

模型标识写错是最常见的坑。很多人拿宣传名或者某个别称直接填进去,结果请求被拒。正确做法是以服务方列出的调用名称为准,可以到 /models 查模型条目,再到 /official-api/providers/openai 看官方命名口径,两边对不上就以你实际接入的那家为准。别名和实际指向的关系搞不清,先去 /ai-dict/category/tips 理一遍再动手。

另一个容易忽略的动作:改用中转站或自建服务之前,先确认它此刻是否在线、有没有限流。不确定就先到 /tools/verify 实测一次。这一步的意义是提前把「服务端本来就挂」和「我配置写错了」两种可能分开,否则你会在配置里来回改半小时,最后发现根本不是配置问题。

  • 留一份原配置的备份,复制成另一个文件再改,别原地覆盖
  • 另起一个配置档做实验,跟日常在用的那份分开
  • 密钥单独放,别跟配置一起写进会被提交的文件
  • 先确认服务在线,再动 Codex 这边的任何一个字段

配置怎么写:按「地址 + 密钥 + 模型」三段对齐

绝大多数 Codex 类工具的自定义模型配置,围绕的就是三段:服务基址、鉴权密钥、模型名。有的还要求你显式声明协议类型。写配置时最容易犯的错是凭记忆手写配置项名称——不同版本字段名会变,你记得的那个名字在新版里可能已经改名或者挪了位置,所以字段名一定要以你当前所用版本的官方配置说明为准。

配置段容易写错的地方怎么自查
服务基址路径段多了或少了用浏览器或者命令行直接打一次根地址看返回
鉴权密钥写进了会提交的公开文件检查文件是否被版本管理跟踪
模型名用了宣传名而非调用名到 /models 对一遍条目
协议声明声明与实际服务不一致看服务方接口文档里写的兼容格式

密钥的处理单独强调一句:不要写进会提交到代码仓库的配置文件,改用环境变量或者本地私密文件。团队里几个人共用一套配置时,各自持有各自的密钥,不要互相传、也不要塞进共享文档。这条不是洁癖,是密钥泄露之后你查起来会非常麻烦。

怎么确认真的走通了,而不是静默回落

配置写完不等于生效,生效了也不等于请求真的走了你指定的那条路。验证要分三层做:请求通不通、走的是不是那条路、效果和成本对不对得上。只做第一层的话,很容易被「静默回落」骗过去——有的工具在自定义模型不可用时自动切回默认模型,表现是一切正常,但账单和输出效果都不是你以为的那个。

  1. 发一次最小请求问一个只有该模型才答得对的小问题,或者看返回里带的模型标识跟你配的是否一致,不一致就说明没走通
  2. 量一次延迟到 /tools/speed-test 测首字延迟和整体耗时,跟官方默认通道对比;自定义通道明显更慢多半是线路或限流
  3. 核一次用量到服务方的用量页或你所在平台的账单页,看这次请求有没有被计入;没计入说明请求根本没到那条路
  4. 关掉回落再测一遍如果工具有自动回落开关,关掉它重测一次;关闭状态下仍然成功,才算真的接通

如果你只是想知道换过去之后贵不贵、值不值,那是数据问题,不是配置问题,到 /price-watch 核对当时的数字,别用记忆里的价格做判断。

接不通、报错、效果变差时的排查顺序

出问题不要乱改,按固定顺序走。顺序本身就是价值:它让你每一步只排除一种可能,而不是五个变量一起动,最后谁也说不清是哪个改对了。

  • 第一步:密钥是否有效、权限范围够不够
  • 第二步:基址是否多写或少写了路径段
  • 第三步:模型名是否被服务方改名或加了别名
  • 第四步:协议声明跟对方实际提供的格式是否匹配
  • 第五步:是不是触发了限流、并发超限或余额不足
报错表现优先怀疑先别动什么
401 / 403密钥无效或权限不够别改模型名和基址
404基址路径段或模型名不对别急着换密钥
超时 / 断流网络、并发或服务端限流别改配置字段
能通但效果变差参数变了,不一定是模型变了别急着下结论说模型不行

效果变差别急着归咎于模型。温度、最大输出长度这类参数改了,观感变化可能比换模型还大。先把参数调回原来的值再对比一次;术语含义拿不准,到 /ai-dict/category/basics 对一遍再判断。

也说清楚什么情况下这套做法不适用:如果你的目标本身就是走内网、走合规路径,那这篇只解决「怎么把请求连上」这一个环节,数据流向、合规审计、内部审批这些事配置文件兜不住,得单独找方案。另外,如果你接的服务本身不稳定,再怎么调配置也救不回来,那属于选服务的问题,不是配置问题。

配置只是让请求发到你指定的地方,它不保证那个地方可靠、便宜或者合规。
下一步先把你打算接入的接口信息凑齐,再到站内模型库核对模型标识怎么填,然后按上面四步验证一遍;验完记得看一眼当时的实际价格和可用性数据,别凭印象做决定。

常见问题

配置自定义模型会不会影响我原来的账号额度?

通常不会互相消耗,但要把两件事分开看:你的工具走的是哪条通道,以及那次请求计到谁头上。改完配置后做一次小额请求,去服务方用量页确认计费主体,再放心上量。如果发现额度异常,先切回原配置排查。

为什么我填了模型名还是报错说不认识这个模型?

多数情况是调用的模型标识和你看到的宣传名不一致,服务方常给模型加前缀、别名或快照后缀。先到该服务方的模型清单页复制准确的调用名,别手打。另外确认一下你的套餐或密钥有没有这个模型的调用权限。

自定义模型和老配置能同时留着吗?

可以,而且建议这么做。把自定义配置单独放一份,用配置档或环境变量切换,默认档保持原样。这样一旦自定义通道限流、涨价或服务下线,你能立刻切回去,不用现场重写配置。切换后记得重新验一次模型标识。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。