OpenAI Responses
Responses API 使用 input 表达输入,并通过结构化的 output 返回文本、工具调用等内容。只有模型广场中支持 Response 端点的模型才能使用本接口。
接口信息
| 项目 | 内容 |
|---|---|
| 请求方法 | POST |
| 完整地址 | https://www.bita-api.com/v1/responses |
| OpenAI Base URL | https://www.bita-api.com/v1 |
| 鉴权方式 | Authorization: Bearer YOUR_BITA_API_KEY |
| 请求格式 | application/json |
先确认模型端点
模型能够通过 Chat Completions 调用,不代表一定支持 Responses。请在模型广场筛选 Response 端点,或使用模型详情中标注的接口格式。
发送简单文本请求
将 YOUR_BITA_API_KEY 和 YOUR_MODEL_ID 替换为自己的信息。示例需要先安装 requests:python -m pip install requests。
import requests
response = requests.post(
"https://www.bita-api.com/v1/responses",
headers={"Authorization": "Bearer YOUR_BITA_API_KEY"},
json={
"model": "YOUR_MODEL_ID",
"input": "请用一句话介绍 Bita API。",
},
timeout=120,
)
response.raise_for_status()
result = response.json()
for item in result.get("output", []):
if item.get("type") == "message":
for content in item.get("content", []):
if content.get("type") == "output_text":
print(content.get("text", ""))
添加指令
可以使用 instructions 指定模型在当前请求中的行为:
{
"model": "YOUR_MODEL_ID",
"instructions": "回答应简洁,并使用简体中文。",
"input": "解释什么是 API 中转服务。"
}
常用基础参数:
| 参数 | 是否必填 | 说明 |
|---|---|---|
model | 是 | 支持 Response 端点的模型 ID |
input | 是 | 用户输入,可以是字符串或结构化输入项 |
instructions | 否 | 本次响应遵循的系统级指令 |
stream | 否 | 是否使用流式事件返回结果 |
模型能力和上游渠道不同,可用的高级参数也可能不同。首次调用建议从简单字符串 input 开始。
读取响应
原始响应通常包含状态和结构化输出项:
{
"id": "resp_...",
"object": "response",
"status": "completed",
"model": "YOUR_MODEL_ID",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Bita API 提供统一的模型 API 接入服务。"
}
]
}
],
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0
}
}
重点字段:
status:响应处理状态,正常完成通常为completed。output:输出项数组,可能包含消息、工具调用或其他类型。output[].content[]:消息的具体内容。type: "output_text"对应的text:模型生成的文本。usage:输入和输出 Token 用量。
不要假设文本永远位于固定的第一个数组元素。生产代码应根据 type 查找 message 和 output_text。
与 Chat Completions 的区别
| 对比项 | Chat Completions | Responses |
|---|---|---|
| 接口路径 | /v1/chat/completions | /v1/responses |
| 主要输入字段 | messages | input |
| 文本输出位置 | choices[].message.content | output[].content[].text |
| 输出结构 | 以对话补全为主 | 可以组合消息、工具调用等输出项 |
| 模型要求 | 支持 Chat 端点 | 支持 Response 端点 |
选择接口时,应优先服从模型广场和第三方工具的端点要求,不需要为了“更新”而把所有 Chat 请求改成 Responses。
常见问题
| 现象 | 建议检查 |
|---|---|
返回 404 | 地址是否为 /v1/responses,Base URL 是否重复包含 /v1 |
| 模型不支持 | 模型广场是否标记 Response 端点,密钥分组是否匹配 |
input 无效 | 先使用简单字符串测试,再检查结构化输入格式 |
output 中没有文本 | 检查响应状态以及所有输出项的 type |
| 高级参数被拒绝 | 当前模型或上游渠道可能不支持该参数,移除后重试 |
下一步:Anthropic Messages。