我想解决我在使用 Amazon Bedrock 按需资源时收到的“429 Throttling”(429 节流)错误。
简短描述
当您的请求因超出 AWS 账户配额而被拒绝时,Amazon Bedrock 将返回 ThrottlingException(HTTP 状态代码: 429)。您会在客户端收到错误消息,类似于以下内容:
- "Too many requests, please wait before trying again.You have sent too many requests.Wait before trying again."
- "Your request rate is too high.Reduce the frequency of requests."
- "Too many tokens, please wait before trying again."
要解决此问题,请针对您的用例完成以下故障排除步骤。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
验证和监控 AWS 服务配额
确认您未超出 Amazon Bedrock 服务配额。有关详细信息,请参阅查看服务配额。
为确保您的应用程序的请求量不超出配额,请使用 Amazon CloudWatch 监控 InputTokenCount 和调用 Amazon Bedrock 运行时指标。每项指标均以分钟为单位进行测量。
重试请求
最佳做法是使用[带有指数回退和随机抖动的重试](https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/retry-backoff.html)。如果您使用 AWS SDK,请参阅重试行为。
使用跨区域推理配置文件
使用跨区域推理配置文件在多个 AWS 区域之间动态路由流量,以实现每个请求的最佳可用性,并在高使用量时期提供更好的性能。有关详细信息,请参阅 GitHub 网站上 amazon-bedrock-workshop 的跨区域干扰代码示例。
**注意:**要使用跨区域功能,您必须使用 Amazon Bedrock 支持的区域和模型。
使用预置吞吐量
如果您有高吞吐量要求,请购买预置吞吐量。要将预置吞吐量用于 Amazon Bedrock 控制台,请参阅将预置吞吐量用于 Amazon Bedrock 资源。要将预置吞吐量用于 AWS CLI 或 Python SDK,请参阅预置吞吐量的代码示例。
**注意:**在购买预置吞吐量之前,请确保您使用的是 Amazon Bedrock 支持的区域和模型。
申请增加配额
如果您的工作负载流量超过账户的按需配额,请联系 AWS Support 或您的账户经理申请增加配额。在您的请求中,包括以下信息: