文本生成/OpenAI Responses API

OpenAI Responses 端点,用于带内置工具的状态化 Agent 交互。

通过 UniGateway 使用 OpenAI Responses API

通过 UniGateway 调用 OpenAI 的有状态 Responses API,用于面向 Agent 的工作流、内置工具和服务端会话状态管理。

概述

Responses API 是 OpenAI 的下一代 Agent 交互接口,提供内置工具、结构化输出和服务端状态管理。

核心能力包括:

  • 有状态会话:通过 previous_response_id 由服务端保留历史记录
  • 内置工具:网页搜索、代码解释器、计算机使用、文件搜索
  • 推理 token:模型在最终输出前进行推理
  • 结构化输出:保证输出符合指定 JSON Schema

UniGateway 暴露以下端点:

  • POST /v1/responses — 创建响应
  • GET /v1/responses/{id} — 获取响应
  • POST /v1/responses/{id}/input_items — 追加到会话

鉴权

所有请求需要 UniGateway API Key:

Authorization: Bearer <YOUR_UNIGATEWAY_API_KEY>

支持的模型

UniGateway 上支持 Responses API 的 OpenAI 模型:

模型 ID说明输入 / 1M输出 / 1M
gpt-5.4通用平衡型$2.50$15.00
gpt-5.4-pro前沿推理与 Agent 型$30.00$180.00
gpt-5.3-codex代码与推理专用$1.75$14.00

查询实时模型列表:

curl https://api.unigateway.ai/v1/models \
  -H "Authorization: Bearer $UNIGATEWAY_API_KEY"

创建响应

基本请求

curl https://api.unigateway.ai/v1/responses \
  -H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": "用一段话解释量子计算。"
  }'

带会话历史

curl https://api.unigateway.ai/v1/responses \
  -H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": [
      {"role": "user", "content": [{"type": "text", "text": "2+2 等于多少?"}]},
      {"role": "assistant", "content": [{"type": "text", "text": "4"}]},
      {"role": "user", "content": [{"type": "text", "text": "再乘以 10。"}]}
    ]
  }'

有状态会话

curl https://api.unigateway.ai/v1/responses \
  -H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": "再乘以 10。",
    "previous_response_id": "resp_abc123"
  }'

设置 previous_response_id 后,服务端自动管理会话历史。省略该字段时由客户端自行管理状态。

请求参数

参数类型必填说明
modelstringGET /v1/models 返回的模型 ID
inputstring / array用户消息文本或消息项数组
previous_response_idstring服务端管理的会话状态
storeboolean服务端保存响应,默认 true
toolsarray启用的内置工具
tool_choicestring / object"auto""required""none" 或指定工具
instructionsstring系统级指令
temperaturenumber采样温度,如 0.2
max_tokensnumber输出 token 上限
top_pnumber核采样
response_formatobject结构化输出 schema
reasoningobject推理强度控制
parallel_tool_callsboolean是否允许多工具并行调用
metadataobject自定义键值对

Input 数组格式

每项包含:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "..."},
    {"type": "image_url", "image_url": {"url": "..."}}
  ]
}

role 支持 userassistantsystemdeveloper

响应格式

{
  "id": "resp_abc123",
  "object": "response",
  "status": "completed",
  "model": "gpt-5.4",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {"type": "text", "text": "量子计算利用叠加和纠缠..."}
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 89,
    "total_tokens": 101
  }
}

响应字段

字段说明
id响应 ID,作为下一轮 previous_response_id
status"completed""in_progress""failed""cancelled"
output输出项数组(文本、工具调用、推理)
output[].type"message""reasoning""tool_call"

输出项类型

类型说明
message助手消息,含 rolecontent 数组
reasoning模型推理 token,不向最终用户展示
tool_call工具调用请求,含 call_idtypearguments

内置工具

tools 数组中启用。

网页搜索

{
  "tools": [
    {"type": "web_search_preview"}
  ]
}

代码解释器

{
  "tools": [
    {"type": "code_interpreter"}
  ]
}

计算机使用

{
  "tools": [
    {
      "type": "computer_use_preview",
      "environment": "browser"
    }
  ]
}

错误处理

状态码原因处理方式
400请求参数错误检查 JSON 结构和参数类型
401API Key 无效或缺失检查 Authorization 请求头
404模型 ID 不存在重新确认 GET /v1/models
429触发限流增加退避并重试
5xx服务异常指数退避重试

Example request

Run it in your stack

Pick the SDK style that matches your app and copy the snippet directly into your project.

from openai import OpenAI

client = OpenAI(
    api_key="<YOUR_UNIGATEWAY_API_KEY>",
    base_url="https://api.unigateway.ai/v1",
)

resp = client.responses.create(
    model="gpt-5.2",
    input="What is 15 * 27?",
    tools=[{"type": "code_interpreter"}],
)
print(resp.output_text)