上下文管理
当多轮对话的历史消息超出模型上下文窗口时,Responses API 提供了自动截断和上下文压缩两种策略,无需手动处理 token 溢出问题。
备注
上下文管理功能仅在使用 Responses API 协议时可用。如需了解协议详情,请参阅 API 协议介绍。
自动截断(Truncation)
通过 truncation 参数控制上下文超限时的处理策略:
| 值 | 行为 |
|---|---|
"disabled" | 不进行截断,上下文超限时返回错误(默认) |
"auto" | 自动从对话开头丢弃最早的消息,直到内容能装入模型上下文窗口 |
使用方式
curl "https://{{YOUR-ENV-ID}}.api.tcloudbasegateway.com/v1/ai/cloudbase/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {{YOUR-API-KEY}}" \
-d '{
"model": "hy3",
"previous_response_id": "resp_xxxxx",
"truncation": "auto",
"input": "请继续我们之前的讨论"
}'
设置 truncation: "auto" 后,即使对话积累了大量历史,API 也会自动滑动窗口,保留最近的对话内容。
工作原理
完整对话历史(可能超出窗口)
├── 第 1 轮(最早) ← 超限时优先丢弃
├── 第 2 轮
├── ...
├── 第 N-1 轮
└── 第 N 轮(最近) ← 始终保留
上下文压缩(Compaction)
与截断不同,压缩不是简单丢弃早期消息,而是通过摘要来保留关键信息的同时减少 token 消耗。