解决413请求实体过大错误 | AI生成和翻译
错误含义
-
413 请求过大是HTTP状态码,表示服务器因请求负载超过允许大小而拒绝处理。在OpenAI推理服务中,“负载”指单个请求中发送的总令牌数(输入+输出)。[1]
-
每分钟令牌数(TPM)限制:按需服务层的
openai/gpt-oss-120b模型配置上限为8,000 TPM。您发送的请求包含13,701个令牌,超出限制5,701个令牌。[1] -
触发原因:
- 提示词过长——输入文本(含系统指令、用户消息及附加数据)可能篇幅过大
- 最大令牌数设置过高——若请求模型生成长文本补全,预估输出令牌数将计入输入计数
- 高频连续调用——短时间内密集发送请求会导致当前分钟累计令牌数突破TPM配额
解决方案
| 方案 | 操作方式 | 效果 |
|---|---|---|
| 精简提示词 | 删除冗余文本,使用简洁指令,或压缩数据(如先总结大段内容再发送) | 降低输入令牌数 |
减少max_tokens |
请求更短的补全内容(如将max_tokens设为500而非2000) |
减少预估输出令牌数 |
| 拆分请求 | 将大型文档分割为多个片段依次调用,最后合并处理结果 | 确保单次调用不超TPM限制 |
| 升级服务层 | 切换至更高容量层级(如开发层),享受更大或无限的TPM限额 | 避免因单请求负载过大报错 |
| 调用限流 | 请求间增加短暂延迟或实施速率限制,保持每分钟总令牌数≤8,000 | 防止累计TPM超额 |
请求发送前快速检查清单
- 统计令牌数——使用OpenAI令牌化工具(或
tiktoken)估算总令牌数(提示词+最大令牌数) - 确保≤8,000 TPM(按需服务层限额)
- 若接近限额,请考虑上述缓解方案
通过确保请求保持在每分钟8,000令牌的配额内,即可避免413“请求过大”错误。[1]
引用文献: [1] https://www.reddit.com/r/OpenAI/comments/1nbtl2p/wow_weve_been_burning_money_for_6_months/