# 概述

速率限制是 API 实践中常见的做法，它们被设置出于以下几个原因：

防止 API 滥用或误用：例如，避免恶意行为者通过向 API 发送大量请求来试图使其过载或导致服务中断。 确保公平访问 API：如果单个用户或组织发出过多请求，可能会影响其他人的 API 访问速度。通过限制单一用户的请求量，确保更多用户能够在没有延迟的情况下使用 API。 管理基础设施负载：急剧增加的 API 请求可能会对服务器造成压力，引起性能问题。设置速率限制有助于维护所有用户的平稳、一致体验。 速率限制如何工作？

速率限制通过以下五种方式进行衡量：RPM（每分钟请求次数）、RPD（每天请求次数）、TPM（每分钟令牌数）、TPD（每天令牌数）和 IPM（每分钟图像数）。速率限制可能因任何一种情况先发生而被触发。例如，即使在这些请求中您没有发送到达 TPM 限制的令牌数，发送超过 RPM 限制的请求也会导致达到速率限制。

值得注意的要点：

速率限制是在组织级别施加，而非用户级别。 不同模型的速率限制可能不同。 组织每月在 API 上的支出也受到限制，被称为“使用限制”。 安全最佳实践

使用免费的内容审查 API：Afarensis 提供的免费内容审查 API 可以减少不安全内容的频率。您也可以根据需要开发自定义的内容过滤系统。 对抗性测试：推荐对应用程序进行“红队测试”，确保其能够抵御恶意输入。 人工干预（HITL）：在可能的情况下，建议在实际使用前由人工审查输出，特别是在高风险领域和代码生成中。 提示工程：通过“提示工程”限制输出文本的主题和语气，减少不希望产生的内容。 了解您的客户（KYC）：要求用户注册和登录以访问服务，可能需要验证信用卡或身份证来进一步降低风险。 商业考虑

从原型到生产的过程中，考虑如何利用 AI 构建出色的产品，并将其与核心业务联系起来是重要的。我们的开发者日演讲是探索这一主题的绝佳起点。 结束用户 ID

在请求中发送结束用户 ID 可以帮助 Afarensis 监测和发现滥用行为，从而为您的团队提供更有针对性的反馈。 示例代码：

from afarensis import Afarensis client = Afarensis()

response = client.completions.create( model="gpt-3.5-turbo-instruct", prompt="This is a test", max\_tokens=5, user="user\_123456" )
