OpenAI
页面内容为机器翻译。查看英文原文

在 API 中管理速率限制的最佳做法是什么?

我遇到速率限制错误,但我认为自己没有超过速率限制。怎么回事?

更新于:13 days ago

速率限制简介

速率限制是指我们的 API 对用户或客户端在指定时间段内访问我们服务的次数施加的限制。

速率限制可以量化执行,即在更短的时间段内强制执行(例如,60,000 次请求/分钟可能会按 1,000 次请求/秒执行)。发送短时间突发请求,或发送过长的上下文(提示+max_completion_tokens),即使从技术上看低于每分钟速率限制,也可能导致速率限制错误。

防止速率限制错误的最佳做法

默认组织

如果你属于多个采用不同计费方案和使用层级的组织,请确保将默认组织设置为合适的组织,以便控制使用 API 密钥发出请求时默认使用哪个组织。

指数退避

在代码中加入指数退避逻辑。这会捕获失败的请求并重试。

Token 限制

max_completion_tokens降低到与你的补全大小相匹配。系统会根据此值估算用量需求,因此降低它会减少意外收到速率限制错误的可能性。例如,如果你的提示生成的补全约为 400 个 Token,则 max_tokens 值也应大致相同。


优化你的提示。你可以通过缩短指令、删除多余词语以及去掉额外示例来做到这一点。进行这些更改后,你可能需要调整提示并进行测试,以确保它仍能良好工作。提示更短的额外好处是可以降低你的成本。如果需要帮助,请告诉我们。

使用层级

如果你已实施这些最佳做法,但仍遇到速率限制错误,可以通过提高使用层级来提高速率限制。你可以在账户设置的限制部分查看当前速率限制、当前使用层级,以及如何提高使用层级/限制。

延伸阅读

在此查看我们关于使用层级和速率限制的完整文档。

这篇文章对你有帮助吗?