概述
为什么我们设置速率限制?
速率限制是 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" )
最后更新于