Responses API 提供了一个现代、统一的接口,用于通过多模态输入、结构化输出和高级工具集成来生成模型响应。它被推荐为新项目的标准,提供了比旧版 Chat Completions API 更强大的功能。有关旧版基于聊天的界面的信息,请参阅 Chat Completions API。
Responses API 支持文本、图像和文件输入,以生成文本或 JSON 输出,并内置了对函数调用、网络搜索、文件搜索和其他专用工具的支持。它提供同步和异步操作模式,并支持全面的流式处理。
Responses API 通过分层资源结构实现,该结构遵循标准的 OpenAI Python 客户端模式。
来源: src/openai/resources/responses/responses.py50-73 src/openai/types/responses/response.py31-234
Responses 类提供了 Responses API 的主要同步接口。
| 方法 | 目的 | 返回类型 |
|---|---|---|
create() | 创建新的模型响应 | Response 或 Stream[ResponseStreamEvent] |
retrieve() | 通过 ID 检索现有响应 | Response 或 Stream[ResponseStreamEvent] |
delete() | 删除已存储的响应 | None |
cancel() | 取消正在进行的响应 | 响应 |
来源: src/openai/resources/responses/responses.py50-73 src/openai/resources/responses/responses.py659-689
AsyncResponses 类镜像了同步接口,但所有操作都支持 async/await。它遵循相同的函数签名,但返回 awaitable 对象。
来源: src/openai/resources/responses/responses.py1006-1036
create() 方法支持多种重载,适用于不同的流式处理配置。
该方法接受广泛的配置选项,包括:
| 参数 | 类型 | 目的 |
|---|---|---|
input | Union[str, ResponseInputParam] | 文本、图像或文件输入 |
model | ResponsesModel | 模型 ID,例如 gpt-4o 或 o3 |
instructions | Optional[str] | 用于上下文的系统消息 |
tools | Iterable[ToolParam] | 模型可用的工具 |
text | ResponseTextConfigParam | 文本输出配置 |
max_output_tokens | Optional[int] | 令牌限制(包括推理令牌) |
previous_response_id | Optional[str] | 用于多轮对话 |
来源: src/openai/resources/responses/responses.py74-267 src/openai/types/responses/response_create_params.py27-210
retrieve() 方法用于获取已存储的响应,并支持对大型响应数据进行流式检索。
来源: src/openai/resources/responses/responses.py789-892
Responses API 通过 ResponseInputParam 类型接受各种输入格式。
来源: src/openai/types/responses/response_input_param.py
Response 模型提供对生成内容的结构化访问。
| 属性 | 类型 | 描述 |
|---|---|---|
id | str | 唯一响应标识符 |
output | List[ResponseOutputItem] | 生成的内容项 |
output_text | str | 文本内容的便捷属性 |
usage | Optional[ResponseUsage] | 令牌使用统计信息 |
status | Optional[ResponseStatus] | 生成状态 |
model | ResponsesModel | 用于生成的模型 |
output_text 属性聚合了所有输出项的文本内容。
来源: src/openai/types/responses/response.py31-234 src/openai/types/responses/response.py220-233
Responses API 通过 Stream 和 AsyncStream 类提供了全面的流式处理能力。
来源: src/openai/lib/streaming/responses/_responses.py src/openai/types/responses/response_stream_event.py
Responses API 通过标准化的工具参数与 OpenAI 的综合工具系统集成。
ToolParam 类型联合包含了所有支持的工具类型。
| 工具类型 | 目的 | 配置 |
|---|---|---|
FunctionToolParam | 自定义函数调用 | 函数 schema 和参数 |
FileSearchToolParam | 文档搜索和检索 | 文件索引和搜索参数 |
WebSearchToolParam | 互联网搜索功能 | 搜索参数和过滤器 |
ComputerToolParam | 计算机交互和自动化 | 显示和交互设置 |
CodeInterpreterContainer | Python 代码执行 | 容器和文件访问 |
ImageGeneration | 图像创建和编辑 | 生成参数和样式 |
Mcp | 通过 MCP 进行外部工具集成 | 服务器配置和身份验证 |
来源: src/openai/types/responses/tool_param.py170-183 src/openai/types/responses/tool.py169-172
Responses API 支持通过 previous_response_id 参数进行有状态的对话,从而实现多轮交互并保持上下文。
来源: src/openai/types/responses/response_create_params.py104-109
API 支持通过 background 参数进行后台响应生成,允许对长时间运行的请求进行异步处理。
来源: src/openai/types/responses/response_create_params.py49-53
可以使用 store 参数存储响应以供日后检索,并支持全面的元数据以进行组织和查询。
来源: src/openai/types/responses/response_create_params.py139-140
对于 o 系列推理模型,API 通过 reasoning 参数提供专门配置,包括努力程度和摘要生成。
来源: src/openai/types/responses/response_create_params.py111-116