如果您正在创建链接到OpenAI服务(如ChatGPT)的程序和应用程序,请务必了解为您的特定AI模型设置的速率限制,以及如何在需要时增加速率限制以及所涉及的成本。了解 API 速率限制的复杂性对于依赖该服务进行操作的开发人员、企业和组织至关重要。其中一个 API 是 ChatGPT API,它有自己的一组用户必须遵守的速率限制。本文将深入研究 ChatGPT API 速率限制的细节,并解释为什么采用这些限制。
什么是 API 速率限制?
从本质上讲,速率限制是 API 对用户或客户端在特定时间段内可以访问服务器的次数施加的限制。它们是 API 世界中的常见做法,并且出于多种原因而实施。首先,速率限制有助于防止滥用或误用 API。它们充当防止恶意行为者的保护措施,这些恶意行为者可能会向 API 发送大量请求,试图使其过载或中断其服务。通过设置速率限制,OpenAI可以防止此类活动。
其次,速率限制确保每个人都可以公平地访问API。如果一个用户或组织发出过多的请求,则可能会减慢其他所有人的 API 速度。通过控制单个用户可以发出的请求数量,OpenAI 确保最大数量的人可以使用 API,而不会遇到速度减慢的情况。
了解 OpenAI ChatGPT API 速率限制
速率限制可帮助 OpenAI 管理其基础架构上的总负载。API 请求的突然激增可能会给服务器带来压力并导致性能问题。通过设置速率限制,OpenAI 可以为所有用户保持流畅一致的体验。
ChatGPT API 速率限制是在组织级别而不是用户级别强制执行的,它们取决于使用的特定终端节点和帐户类型。它们以三种方式度量:RPM(每分钟请求数)、RPD(每天请求数)和 TPM(每分钟令牌数)。用户可以通过这三个选项中的任何一个达到速率限制,具体取决于首先发生的情况。
例如,如果用户向完成终结点发送 20 个仅包含 100 个令牌的请求,并且其 RPM 限制为 20,则即使他们未在这 150 个请求中发送 20k 个令牌,他们也会达到限制。OpenAI 会根据多种因素自动调整速率限制和支出限制(配额)。随着用户对 OpenAI API 的使用量增加并成功支付账单,其使用层会自动增加。
例如,前三个使用层如下所示:
- 免费套餐:用户必须位于允许的地理位置。他们的最高信用额度为 100 美元,请求限制为 3 RPM 和 200 RPD。GPT-20.3 的令牌限制为 5K TPM,GPT-4 的令牌限制为 4K TPM。
- 第 1 层:用户必须支付 5 美元。他们的最高信用额度为 100 美元,请求限制为 500 RPM 和 10K RPD。对于 GPT-40.3,令牌限制为 5K TPM,对于 GPT-10,令牌限制为 4K TPM。
- 第 2 层:用户必须已支付$ 50,并且必须是自首次成功付款以来的7 +天。它们的最高信用额度为 250 美元,请求限制为 5000 RPM。GPT-80.3 的令牌限制为 5K TPM,GPT-20 的令牌限制为 4K TPM。
实际上,如果用户的速率限制为每分钟 60 个请求和每分钟 150k 个令牌,则它们将受到达到请求/最小上限或令牌用完的限制(以先发生者为准)。例如,如果他们的最大请求/分钟为 60,他们应该能够每秒发送 1 个请求。如果他们每 1 毫秒发送 800 个请求,一旦达到速率限制,他们只需要让他们的程序休眠 200 毫秒即可再发送一个请求。否则,后续请求将失败。
了解并遵守 ChatGPT API 速率限制对于依赖它的任何应用程序或服务的平稳运行至关重要。这些限制是为了防止滥用、确保公平访问和管理基础设施上的负载,从而确保为所有用户提供一致且高效的体验。
OpenAI 对您可以向 API 发出的请求强制实施速率限制。这些应用于每分钟令牌数、每分钟请求数(在某些情况下为每日请求数),或者在图像模型的情况下应用于每分钟图像数。
提高速率限制
OpenAI 解释了更多关于其 API 速率限制的信息,以及何时应该考虑在需要时申请提高:
“我们的默认速率限制有助于我们最大限度地提高稳定性并防止滥用我们的 API。我们提高限制以启用高流量应用程序,因此申请提高速率限制的最佳时机是当您认为您拥有必要的流量数据来支持提高速率限制的有力理由时。没有支持数据的大量速率限制提高请求不太可能获得批准。如果您正在为产品发布做准备,请通过 10 天内的分阶段发布获取相关数据。
有关其服务(如 ChatGPT)的 OpenAI 速率限制的更多信息,请跳转到官方指南文档网站以获取更多信息和数字。
如何管理 API 速率限制:
- 了解限制 – 首先,您需要了解 ChatGPT API 施加的速率限制的细节。通常,有不同类型的限制,例如每分钟、每小时和每天的限制,以及并发限制。
- 缓存结果 – 对于经常重复的查询,请考虑在本地缓存结果。这将减少您需要进行的 API 调用次数,并可以提高应用程序的响应能力。
- 速率限制库 – 有各种编程语言提供的速率限制库和模块,可帮助您管理 API 速率限制。他们可以自动限制您的请求,以确保您保持在限制范围内。
- 排队机制 – 实施排队机制可以帮助您有效地处理突发流量。这可确保将多余的请求放入队列中,并在速率限制允许时进行处理。
- 监控和警报 – 密切关注您的 API 使用情况统计信息,并在接近限制时设置警报。这可以帮助您通过升级计划或优化使用情况及时采取行动。
- 正常降级 – 将系统设计为在达到 API 速率限制时正常降级。这可能意味着显示用户友好的错误消息或回退到不太理想的操作模式。
- 负载平衡 – 如果您有多个 API 密钥或帐户,则可以在它们之间分配负载,以最大化允许的请求。
- 业务注意事项 – 有时,升级到允许更多请求的更高 API 层可能更具成本效益,而不是花费工程资源来微优化 API 使用。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun261179.html