什么是 Response API
Response API(/v1/responses)是 OpenAI 在 2025 年推出的统一模型调用接口。它把过去分散在 Chat Completions、Assistants、Tools 等多个 API 里的能力整合起来,让开发者用一次调用就能完成:
- 多轮对话与上下文管理
- 内置工具调用(网页搜索、文件检索、代码解释器、计算机操作等)
- 自定义函数调用
- 推理模型(如 o 系列)的思维链输出
- 文本、图像、音频等多模态输入输出
与 Chat Completions 的核心区别
有状态 vs 无状态
Chat Completions 每次请求都要传完整历史消息。Response API 支持通过
previous_response_id 直接续接上一次响应,服务端自动管理上下文。统一输入结构
Chat Completions 用
messages 数组。Response API 用 input 字段,可以是字符串、消息数组或包含图像、文件的多模态结构。内置工具
Response API 原生支持
web_search、file_search、code_interpreter、computer_use 等托管工具,无需自己实现。推理透明化
对 o1、o3 等推理模型,Response API 会在输出里显式返回
reasoning 项,方便追踪与调试。一次最简单的调用
cURL
id:本次响应的唯一 ID,可用于后续续接output:模型生成的内容项数组(文本、工具调用、推理等)output_text:所有文本内容拼接后的便捷字段usage:token 消耗统计
多轮对话:告别手动拼接历史
传统写法每轮都要传完整messages。Response API 只需传上一次的 id:
Python
内置工具:一行开启网页搜索
Python
file_search(对上传文件做 RAG)、code_interpreter(沙箱执行代码)和 computer_use(操作浏览器/桌面)。
流式输出
Response API 使用事件流(Server-Sent Events)返回结构化事件,比 Chat Completions 的 delta 更易解析:Python
response.created、response.output_text.delta、response.tool_call.created、response.completed 等。
什么时候用 Response API
暂时留在 Chat Completions 的场景
- 已有大量代码基于
messages结构,短期无迁移收益 - 只需要一次性、无状态的补全,且不使用任何工具
- 依赖某些尚未迁移到 Response API 的第三方封装库
迁移建议
1
替换 endpoint
把
/v1/chat/completions 换成 /v1/responses,messages 改成 input。2
用 previous_response_id 管理会话
移除客户端保存的完整历史,改为只存最近一次的
response.id。3
用内置工具替换自研能力
评估自己实现的搜索、RAG、代码执行是否可以直接换成
web_search、file_search、code_interpreter。4
适配新的事件流
如果用了流式输出,把 delta 解析改成基于
event.type 的分派。