给 OpenAI API 调用加上模型切换:GPT-5.1 和 Codex 的配置实践

OpenAI API 接入时,模型名和请求入口最好都放在配置层。这样同一套业务代码可以切换通用模型和编码模型,排查问题时也能快速确认究竟是模型能力、请求参数还是 endpoint 不匹配。

把模型和入口放进配置

通用问答、写作和分析可以使用 GPT 主线模型;仓库级代码修改和编码密集任务可以评估 gpt-5.1-codex。模型对应的 endpoint 可能不同,不能只改模型名后直接复用所有请求方式。

python 复制代码
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["API_KEY"],
    base_url="https://api.highwayapi.ai/openai",
)

model = os.getenv("OPENAI_MODEL", "gpt-5.1")
response = client.chat.completions.create(
    model=model,
    messages=[
        {"role": "user", "content": "把这段需求整理成三条验收标准"}
    ],
)
print(response.choices[0].message.content)

如果使用 jiekou.vip 等兼容入口,只需按照平台文档替换 base_url、密钥和可用模型名。密钥应通过环境变量或密钥管理系统注入,不要直接写入代码。

先确认 endpoint

普通 GPT 模型常见的调用方式是 Chat Completions;Codex 等编码模型可能要求 Responses 接口。把模型名、endpoint 和 SDK 方法做成明确的配置,能避免收到 404 或参数不支持错误后才发现入口不对。

python 复制代码
from openai import OpenAI

client = OpenAI(api_key=os.environ["API_KEY"])

config = {
    "general": {"model": "gpt-5.1", "endpoint": "chat"},
    "coding": {"model": "gpt-5.1-codex", "endpoint": "responses"},
}

def selected_model(kind: str):
    return config["coding" if kind == "coding" else "general"]

具体字段和 SDK 调用方式应以当前接口文档为准,不要假设不同模型永远共享同一组参数。

用同一组任务做验证

模型对比要固定输入和验收标准,至少覆盖真实代码修复、长文档分析、结构化工具调用和批量分类。重点记录成功率、失败类型、响应延迟、输入输出 token 和重试次数。

python 复制代码
import os

model = os.getenv("OPENAI_MODEL", "gpt-5.1")
print(f"evaluating {model}")

如果是高并发的抽取和分类任务,可以单独评估轻量模型;如果是仓库级修改,除了代码能否生成,还应检查补丁是否通过现有测试。

给请求层加有限重试

鉴权失败、参数错误和模型不存在不应反复重试;限流或临时网络故障才适合有限次数退避。重试次数必须有上限,最终错误要保留原始异常,便于定位。

python 复制代码
import time


def retry_call(call, attempts=3):
    for attempt in range(attempts):
        try:
            return call()
        except Exception:
            if attempt == attempts - 1:
                raise
            time.sleep(2 ** attempt)

生产环境应将 Exception 换成 SDK 提供的具体异常类型,并根据状态码区分可重试和不可重试情况。

小结

把模型 ID 和 endpoint 一起配置,先用固定任务集验证,再决定通用模型与编码模型的路由。切换模型后要重新检查请求参数、上下文限制和速率限制;模型目录与接口要求变化时,以当前平台文档为准。

相关推荐
kaixin_啊啊2 小时前
【零基础学AI】第 25 章课后练习与答案
人工智能
水如烟3 小时前
孤能子视角:逆溯法与传统方法比较
人工智能
jimmyleeee4 小时前
大模型安全之五十一:OWASP LLM Top 10 全景解读
人工智能·安全
飞哥数智坊4 小时前
DeepSeek-V4.1-Flash-1017 官方许愿案例太吸睛,我也复刻了一个
人工智能
深蓝AI4 小时前
自报提效 12 倍,模型进步加速 1.9 倍:METR 报告到底量了什么
人工智能·程序员
特立独行的猫A5 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持5 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
怕浪猫5 小时前
从工具到代理:一张图看懂 2026–2030 年 AI 如何重构 11 个行业
人工智能·程序员·产品
云和数据.ChenGuang6 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
会飞锦鲤6 小时前
工业AI视觉检测项目完整实施方案
人工智能·深度学习·视觉检测·缺陷检测·模型训练·ai项目·工业应用