Responses 压缩

POST /v1/responses/compact — 对长对话执行 compaction,压缩历史上下文

POST/v1/responses/compact

对长对话执行压缩(compaction):把冗长的对话历史提炼为紧凑表示,降低后续 Responses 请求的上下文占用与计费。本接口是 Responses 的配套压缩变体,请求/响应约定与其一致,差异点见下。非流式接口。

压缩请求在平台内部按「<模型名>-openai-compact」的派生模型名匹配渠道与计价(例如 gpt-5.5 会路由为 gpt-5.5-openai-compact)。因此本端点的可用性取决于渠道侧是否配置了带后缀的模型——配置了 gpt-5.5 不等于自动支持 compact。返回 model_not_found 且报错中出现 -openai-compact 后缀时,应去确认该派生模型的渠道配置,而不是检查请求体。

鉴权:在请求头携带 Authorization: Bearer <令牌>,详见鉴权与令牌

请求参数

modelstring必填

执行压缩的模型 ID

inputstring | array

待压缩的对话内容,字符串或消息数组(同 Responses 的 input 形态)

instructionsstring

压缩指令,控制提炼侧重

previous_response_idstring

引用之前某轮响应(resp_ 前缀)作为压缩对象,与直接传 input 二选一

请求示例

curl https://api.jimu.chat/v1/responses/compact \
  -H "Authorization: Bearer $JIMU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "previous_response_id": "resp_0f9583835d5e5762016a68bef03a1c8199a90d35cdc6336b8a"
  }'

响应结构

响应200
{
  "id": "resp_...",
  "object": "response.compaction",
  "created_at": 1785249520,
  "output": [],
  "usage": {
    "input_tokens": 0,
    "output_tokens": 0,
    "total_tokens": 0
  },
  "error": null
}
  • objectresponse.compaction
  • output 为压缩结果数组,具体项结构以服务端实现为准。
  • usage 计量口径与 Responses 一致(input_tokens / output_tokens / total_tokens)。
  • 压缩失败时 error 字段给出原因;参数类错误则返回标准嵌套错误对象(见错误处理与请求追踪)。
压缩本身消耗 token 并计费。典型用法:对话轮次累积到一定长度后先调本接口,再把压缩结果作为后续 Responses 请求的上下文输入。