Skip to main content
长对话应在超出模型上下文窗口之前处理历史增长。独立压缩端点可返回新的上下文窗口;它不是生成最终回答,也不是任意渠道都支持的摘要接口。先确认同一模型和渠道同时支持 /responses/compact 与 /responses,以及压缩项的保留和回放。

运行压缩后续聊

安装现有 Python 示例依赖。脚本使用一段固定的示范对话,先压缩,再追加新问题并生成文本,共两次请求。真实应用应换成自己保存的完整输入、输出、工具结果及推理项。

保存与回放规则

独立压缩返回 object: response.compaction 和 output,不能按普通 Responses 的 status / output_text 读取。完整保留 output 的顺序、条目和额外字段,用它替换下一轮上下文窗口,然后追加新输入。不要只取 compaction 项,也不要把旧历史再次拼接进去。 encrypted_content 是不透明状态,不要解码、修改或将它当作可读摘要。压缩输入仍必须适配模型上下文窗口。相关协议行为见 OpenAI Compaction 指南。 示例每次显式发送 instructions,使用 store: false 续聊;这不构成网关、日志或上游的数据保留承诺。压缩不会自动同步你的数据库、业务状态或权限规则。

失败与兼容性

  • 压缩失败或返回空窗口时保留原始历史,不继续生成,也不自动删除旧内容。
  • 压缩成功、续聊失败时保留原始历史和有效压缩窗口,由应用选择恢复位置;不要自动重复整个流程。
  • 多渠道负载均衡可能让两次请求落在不兼容的上游。与管理员确认模型路由、凭据和状态兼容性,不能仅凭相同模型 ID 推断可回放。
  • 自动 context_management、保存响应 ID、后台执行属于独立能力,不能由压缩路由存在推断支持。Responses 检索只覆盖插件任务响应,不提供通用上游检索或 REST 删除 / 取消接口,见接口支持范围。
示例为文本续聊,只校验压缩窗口结构和最终文本完成状态,不证明压缩保留了所有事实。真实应用要检查关键约束、工具结果关联和长会话质量;本地 fixture 不验证密文有效性。 多轮对话 · 生产接入 Read in English 提示词缓存 · 推理模型 · 上下文管理