先选择调用协议
OpenAI 官方建议新项目使用 Responses,同时继续支持 Chat Completions。迁移不只是替换 URL:输入字段、输出结构、流式事件和工具调用格式也需要一起调整。
- Python
- Node.js
新项目:Responses
现有客户端:Chat Completions
如果现有代码使用messages 和 choices[0].message.content,可以继续调用
POST /v1/chat/completions。不要把 Chat Completions 的请求体原样发送到 /v1/responses。
兼容性边界
不同模型和上游服务支持的参数可能不同。以下能力应按具体模型验证:tools和函数调用- 结构化输出
- 图片、音频或视频输入
reasoning_effort等推理参数logprobs、seed等高级采样参数
迁移检查清单
- Base URL 结尾是
/v1。 - 模型 ID 来自当前账户的模型列表。
- SDK 超时符合业务场景。
- 只对可重试错误执行有限次数重试。
- 日志记录请求 ID,但不记录 API Key 和敏感提示词。
- 对工具调用、结构化输出和长上下文分别做回归测试。
- 如果迁移到 Responses,已将
messages、choices、流式delta和工具结构映射为 Responses 对应字段。