DeepFloodbeta

【教程】CLIProxyAPI免后缀自定义模型思考量的配置技巧

CLIProxyAPI(以下简称CPA)可以通过思考后缀来强制指定模型的思考量,例如gpt-5.2(xhigh),但是对于有些用户来说,懒的在客户端手动输入模型名,希望能够自动获取到特定思考量的模型,在CPA中,通过模型别名+Payload的配置组合,就可以轻松实现这一点。

以gpt-5.2为例,我现在希望能够在客户端中自动获取gpt-5.2-low、gpt-5.2-medium、gpt-5.2-high这三个模型,同时这三个模型分别对应gpt-5.2的low、medium、high三档思考量,下边跟着我来做吧~

首先,我们需要配置模型的别名,如下:

oauth-model-alias:
  codex:
    - name: gpt-5.2
      alias: gpt-5.2-high
      fork: true
    - name: gpt-5.2
      alias: gpt-5.2-medium
      fork: true
    - name: gpt-5.2
      alias: gpt-5.2-low
      fork: true

特别需要注意的是,每个别名设置中的fork一定要设置为true,不然设置了别名后,原先的模型名称就会隐藏掉,就不能够实现单模型多别名的功能了。

第二步,我们需要强制指定每个别名的思考量:

payload:
  override:
    - models:
        - name: "gpt-5.2-high"
          protocol: "codex"
      params:
        "reasoning.effort": "high"
    - models:
        - name: "gpt-5.2-medium"
          protocol: "codex"
      params:
        "reasoning.effort": "medium"
    - models:
        - name: "gpt-5.2-low"
          protocol: "codex"
      params:
        "reasoning.effort": "low"

现在,在客户端上,我们就能够看到这三个模型了,并且每个模型都是强制思考量的


对了,使用以上的方法,大家看debug日志中的信息时,有一个地方可能会感到困惑

如图,调用的是gpt-5.2-high模型,为什么思考量还是显示medium呢?
这是因为Payload的配置是在思考量之后才强制覆盖的,因而在日志中是看不到Payload的应用效果的,但是通过查看发往上游的报文,就能看到思考量被成功设置了

=== API REQUEST 1 ===
{"instructions":"","stream":true,"reasoning":{"effort":"high","summary":"auto"},"parallel_tool_calls":true,"include":["reasoning.encrypted_content"],"model":"gpt-5.2","input":[{"type":"message","role":"user","content":[{"type":"input_text","text":"hi"}]}],"store":false}

收工~