OpenAI Responses 协议

GPT 系列模型的原生 OpenAI Responses 协议

1. 概述

本接口透传 OpenAI Responses 原生请求和响应,用于调用已开通的模型;由请求体 stream 字段切换非流式与 SSE 流式响应。

  • baseUrl: https://token.soar.qjclouds.cn/laserStreamEr/00000000/v1
  • completionsPath: /responses
  • 标准地址:POST {baseUrl}{completionsPath}
  • 鉴权:Authorization: Bearer <api_key>
  • 请求体遵循 OpenAI Responses API JSON 结构。

地址拼接:{baseUrl}{completionsPath},即 https://token.soar.qjclouds.cn/laserStreamEr/00000000/v1/responses


2. 接入前置条件

项 说明
api_key 访问密钥(控制台生成),用于 Bearer 鉴权。

3. 鉴权

Header 必填 说明
Authorization 是 Bearer <api_key>
Content-Type 是 application/json
Accept 流式建议 流式设为 text/event-stream;非流式可设为 application/json。

缺失 Authorization 或 api_key 无效时,直接返回 401。


4. 对话补全

4.1 请求体

请求体采用 OpenAI Responses API 原生 JSON 结构。model 与 input 是常用核心字段。

字段 类型 必填 说明
model string 是 平台已开通的模型编码。
input string / array<InputItem> 是 模型输入;可为文本,或包含消息、图片、文件、工具调用结果等的输入项数组。
instructions string 否 系统或开发者指令;与 previous_response_id 一起使用时需按需要重新传入。
previous_response_id string 否 关联并延续上一条 Responses 响应。
conversation string / object 否 关联会话资源,用于管理多轮对话状态。
tools array<Tool> 否 模型可用工具,如函数、Web 搜索、文件搜索、计算机操作或 MCP;具体支持能力由模型决定。
tool_choice string / object 否 工具调用策略,可自动选择、禁止调用、强制某类工具或指定工具。
parallel_tool_calls boolean 否 是否允许模型并行调用工具。
text object 否 文本输出配置,例如 format(文本或 JSON Schema 结构化输出)。
reasoning object 否 推理模型配置,例如 effort 与 summary;仅在模型支持时生效。
max_output_tokens integer 否 本次响应可生成的最大 token 数(包含可见输出与推理 token)。
temperature number 否 采样温度;仅在所选模型支持时传入。
top_p number 否 核采样参数;仅在所选模型支持时传入。
truncation string 否 上下文超出模型窗口时的处理方式,如 auto 或 disabled。
include array<string> 否 指定响应中附加返回的内容,例如工具调用或搜索结果的详细信息。
metadata object 否 最多 16 个键值对的请求元数据。
store boolean 否 是否存储该响应以供后续检索;默认行为以 OpenAI API 规则为准。
stream boolean 否 非流式请求传 false 或省略。

4.1.1 Input 项结构

input 可以直接传字符串;传数组时,消息项通常为 {role, content},内容块可包含 input_text、input_image、input_file 等。工具结果与模型输出项应按 OpenAI Responses 原生结构回传。


4.2 请求示例

JSON
{
  "model": "gpt-5.3-codex",
  "stream": false,
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "请描述这张图片中的内容。"
        },
        {
          "type": "input_image",
          "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
        }
      ]
    }
  ]
}

4.3 响应

非流式响应为 OpenAI 原生 Response 对象。常用字段包括 id、object、status、output[]、output_text、usage、error 与 incomplete_details。

JSON
{
  "completed_at": 1788748098,
  "created_at": 1788748092,
  "id": "resp_0c8288dbb48e96e2006a9e213c40c081909e01f1d1f5bb6a57",
  "model": "gpt-5.3-codex",
  "object": "response",
  "output": [
    {
      "content": [
        {
          "annotations": [],
          "text": "这张图片展现了一个很温馨的海边场景:\n\n- 一位女生坐在沙滩上,面带微笑地看着面前的大狗(看起来像拉布拉多)。\n- 狗狗也坐着,抬起一只前爪,像是在和女生“击掌”或互动握手。\n- 狗狗戴着彩色胸背带和牵引绳,显得很乖、训练有素。\n- 背景是海浪和地平线,阳光从右侧照过来,整体有夕阳/日落时分的暖色氛围。\n- 画面给人的感觉是轻松、亲密、治愈,突出主人和宠物之间的感情。",
          "type": "output_text"
        }
      ],
      "role": "assistant",
      "type": "message"
    }
  ],
  "status": "completed",
  "usage": {
    "input_tokens": 1080,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 172,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 1252
  }
}

4.4 错误响应

错误响应遵循 OpenAI error 对象结构。常见状态:400 参数无效、401 鉴权失败、404 模型或路径不存在、429 限流或配额不足、500 服务异常。


5. 流式对话补全

5.1 请求体

请求体字段与 4.1 相同,并将 stream 设为 true。

5.2 请求示例

JSON
{
  "model": "gpt-5.3-codex",
  "stream": true,
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "请描述这张图片中的内容。"
        },
        {
          "type": "input_image",
          "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
        }
      ]
    }
  ]
}

5.3 响应

响应为 OpenAI Responses 原生 SSE 事件流,常见事件包括 response.created、response.output_item.added、response.output_text.delta、response.output_text.done、response.completed 与 response.failed。平台不会额外追加 [DONE]。

以下为本次请求的响应示例。为便于阅读,中间连续的 response.output_text.delta 事件已省略;客户端应按实际事件顺序持续拼接 delta。

SSE
data: {"type":"response.created","response":{"id":"resp_0f9e43cc848d84a0006a9e20633684819797ceeb028710539d","object":"response","created_at":1788747875,"status":"in_progress","model":"gpt-5.3-codex","output":[],"usage":null},"sequence_number":0}

data: {"type":"response.in_progress","response":{"id":"resp_0f9e43cc848d84a0006a9e20633684819797ceeb028710539d","object":"response","status":"in_progress","model":"gpt-5.3-codex","output":[],"usage":null},"sequence_number":1}

data: {"type":"response.output_item.added","item":{"id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","type":"message","status":"in_progress","content":[],"phase":"final_answer","role":"assistant"},"output_index":0,"sequence_number":2}

data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3}

data: {"type":"response.output_text.delta","content_index":0,"delta":"这","item_id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","output_index":0,"sequence_number":4}

... 中间的 response.output_text.delta 事件省略 ...

data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","output_index":0,"sequence_number":140,"text":"这张图片里是一幅很温馨的海边场景:\n\n- 一位年轻女生坐在沙滩上,面带微笑,正在和一只大狗互动。  \n- 狗看起来像拉布拉多,戴着彩色背带,坐在她对面。  \n- 它抬起前爪,像是在和女生“击掌”或“握手”。  \n- 背景是海浪和海平线,光线偏暖,像是日落或日出时分。  \n- 整体氛围轻松、治愈,传达出人与宠物之间亲密快乐的关系。"}

data: {"type":"response.output_item.done","item":{"id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","type":"message","status":"completed","content":[{"type":"output_text","text":"这张图片里是一幅很温馨的海边场景:\n\n- 一位年轻女生坐在沙滩上,面带微笑,正在和一只大狗互动。  \n- 狗看起来像拉布拉多,戴着彩色背带,坐在她对面。  \n- 它抬起前爪,像是在和女生“击掌”或“握手”。  \n- 背景是海浪和海平线,光线偏暖,像是日落或日出时分。  \n- 整体氛围轻松、治愈,传达出人与宠物之间亲密快乐的关系。"}],"phase":"final_answer","role":"assistant"},"output_index":0,"sequence_number":142}

data: {"type":"response.completed","response":{"id":"resp_0f9e43cc848d84a0006a9e20633684819797ceeb028710539d","object":"response","status":"completed","model":"gpt-5.3-codex","output":[{"id":"msg_0f9e43cc848d84a0006a9e2066e47881978e91342d8a2c68c0","type":"message","status":"completed","content":[{"type":"output_text","text":"这张图片里是一幅很温馨的海边场景:\n\n- 一位年轻女生坐在沙滩上,面带微笑,正在和一只大狗互动。  \n- 狗看起来像拉布拉多,戴着彩色背带,坐在她对面。  \n- 它抬起前爪,像是在和女生“击掌”或“握手”。  \n- 背景是海浪和海平线,光线偏暖,像是日落或日出时分。  \n- 整体氛围轻松、治愈,传达出人与宠物之间亲密快乐的关系。"}],"role":"assistant"}],"usage":{"input_tokens":1080,"output_tokens":148,"total_tokens":1228}},"sequence_number":143}

5.4 错误响应

建立流前的错误以 HTTP 状态码和 OpenAI error 对象返回;流建立后的失败以 response.failed 事件或流中断体现。