协议与接口
Responses
POST /v1/responses 的请求格式、多轮续接与流式事件,Codex 等工具使用这一协议。
首版设计
网关正在开发中,以下为首版接口设计。
Responses 是 OpenAI 新一代对话接口,Codex、OpenAI Agents SDK 等工具默认使用。所有对话模型都可以通过它调用。
POST https://api.example.cn/v1/responses
Authorization: Bearer sk-relay-xxxxxxxx
Content-Type: application/json最小请求
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.example.cn/v1", api_key=os.environ["RELAY_API_KEY"])
res = client.responses.create(
model="doubao-seed-2.1-pro",
input="用三句话介绍你自己",
)
print(res.output_text)常用参数
| 参数 | 说明 |
|---|---|
model | 必填,模型广场里的模型 ID |
input | 字符串,或由 role / content 组成的消息数组 |
instructions | 系统指令,相当于 Chat Completions 的 system 消息 |
stream | 是否流式返回 |
max_output_tokens | 本次最多输出的 tokens,平台据此预留余额 |
reasoning.effort | 思考强度:low、medium、high;模型不支持思考时忽略 |
tools | 函数工具定义,格式同 OpenAI Responses |
previous_response_id | 续接上一轮对话,见下文 |
多轮续接
把上一次响应的 id 作为 previous_response_id 传入,就不用每次重发全部历史:
first = client.responses.create(model="qwen3.7-plus", input="记住:我叫小王")
second = client.responses.create(
model="qwen3.7-plus",
input="我叫什么?",
previous_response_id=first.id,
)- 续接的历史仍会计入本轮输入 tokens。
- 平台保存续接上下文的期限与调用记录的留存期限一致,过期后请重新发送完整历史。
- 续接只能用于同一个模型。
流式事件
设置 stream: true 后,按 Responses 的事件格式返回,常用事件:
| 事件 | 含义 |
|---|---|
response.output_text.delta | 增量文本 |
response.reasoning_summary_text.delta | 思考摘要(模型支持时) |
response.function_call_arguments.delta | 工具调用参数 |
response.completed | 结束,携带 usage,扣费以它为准 |
断流时的处理与 流式输出 一致:用量进入“待核对”,平台不会自动重发。