Ir para o conteúdo

Como soluciono o erro "ThrottlingException" quando uso os recursos sob demanda do Amazon Bedrock?

6 minuto de leitura
0

Quero solucionar o erro "ThrottlingException" (código de status HTTP 429) que recebo quando uso os recursos sob demanda do Amazon Bedrock.

Breve descrição

Quando você excede as Service Quotas, o Amazon Bedrock nega suas solicitações.

O Amazon Bedrock retorna um erro "ThrottlingException" (código de status HTTP: 429), e você recebe uma das seguintes mensagens de erro no lado do cliente:

  • "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."

Resolução

Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Monitore suas Service Quotas da AWS

Analise suas Service Quotas do Amazon Bedrock para se certificar de que não está excedendo-as. Verifique as métricas do Amazon CloudWatch em incrementos de 1 minuto para identificar padrões de controle de utilização. Quando seu uso excede as cotas nos horários de pico, a limitação de recursos pode ocorrer mesmo com lotes anteriormente bem-sucedidos. Para garantir que o volume de solicitações da aplicação não exceda as cotas, monitore as métricas de runtime do Amazon Bedrock InputTokenCount e Invocations.

Alguns modelos têm cotas separadas para Solicitações por minuto (requests per minute, RPM) e tokens por minuto (TPM) que o Amazon Bedrock aplica simultaneamente.

As versões mais recentes do modelo podem ter cotas diferentes das versões anteriores.

Observação: o painel Service Quotas mostra somente as cotas configuradas, não o uso em tempo real. Para monitorar o uso em tempo real, use o CloudWatch.

Use perfis de inferência entre regiões

Use perfis de inferência entre regiões para rotear dinamicamente o tráfego em várias regiões da AWS e, assim, otimizar a disponibilidade de cada solicitação e melhorar o desempenho em períodos de alto uso. Cada região mantém grupos de capacidade independentes. Para evitar a limitação de recursos no grupo de capacidade de uma região, distribua as solicitações em várias regiões.

Alguns modelos, como o Anthropic Claude 3.5 Sonnet, exigem perfis de inferência entre regiões em determinadas regiões. Modelos como o Anthropic Claude 4.5 Sonnet também oferecem perfis de inferência globais que ajudam a gerenciar picos de tráfego não planejados.

Para mais informações, consulte o exemplo de código para interferência entre regiões em amazon-bedrock-workshop no site do GitHub.

Observação: para usar um perfil de inferência, você deve usar uma região e modelo compatíveis com o Amazon Bedrock.

Solicite um aumento de cota

Novas contas da AWS podem ter cotas iniciais menores do que as cotas padrão. Alguns modelos têm cotas fixas não ajustáveis. Se o tráfego do seu workload exceder as cotas sob demanda da sua conta, entre em contato com o AWS Support ou com seu gerente de conta para solicitar um aumento de cota. A AWS pode ajustar cotas padrão com base em padrões de uso ou requisitos de serviço.

Inclua as seguintes informações na solicitação:

  • O nome da cota que você deseja aumentar
  • O ID do modelo
  • A região para o aumento da cota
  • Uma breve explicação do seu caso de uso
  • Seu uso esperado, incluindo tokens e solicitações estáveis e de pico por minuto e tokens médios de entrada e saída por solicitação

Use Throughput provisionado

Se você tiver requisitos de alto throughput, compre o Throughput provisionado.

Observação: você gera um custo adicional ao usar o Throughput provisionado. Para obter mais informações sobre preços do Throughput provisionado, consulte a seção Modelos de preços em Preços do Amazon Bedrock.

Para obter mais informações sobre como usar o Throughput provisionado, consulte Usar throughput provisionado com um recurso do Amazon Bedrock. Para usar a AWS CLI ou o Python SDK para criar o Throughput Provisionado, consulte Exemplos de código para throughput provisionado.

Observação: antes de comprar o Throughput provisionado, verifique se você está usando uma região e modelo compatíveis com o Amazon Bedrock.

Adicione novas tentativas com recuo exponencial

Quando você usa o modo sob demanda, o Amazon Bedrock usa um grupo de capacidade compartilhado entre vários clientes. Durante períodos de alta demanda de serviço você pode enfrentar limitações de recursos mesmo quando suas solicitações estão dentro das cotas da sua conta. Além disso, o serviço gerencia automaticamente a alocação de capacidade em todos os usuários.

É uma prática recomendada usar novas tentativas com recuo exponencial e variação aleatória. Se você usa SDKs da AWS, consulte Comportamento de repetição.

Certifique-se de que o recuo de novas tentativas dure 1 minuto inteiro quando atingir as cotas por minuto. Sincronize suas tentativas de novas tentativas com o ciclo de atualização da cota de 60 segundos. Além disso, distribua suas solicitações em vários segundos em um período de 1 minuto.

Exemplo de configuração do Python com modo adaptável de nova tentativa:

from botocore.config import Config
config = Config(
    retries={
        'max_attempts': 10,  # Default is 3
        'mode': 'adaptive'
    }
)
bedrock_runtime = boto3.client('bedrock-runtime', config=config)

Resolva o erro "ServiceUnavailable"

Um erro "ServiceUnavailable" (código de status HTTP 503) ocorre devido a restrições temporárias de capacidade, e não a cotas excedidas. Esse erro costuma ser resolvido automaticamente, mas pode exigir ajustes de arquitetura para workloads críticos.

Analise seus logs do AWS CloudTrail para verificar se você recebeu um erro "ServiceUnavailable" com o erro "ThrottlingException".

Se você receber os dois erros, realize as seguintes ações para resolver o erro "ServiceUnavailable":

Resolva limitação inesperada quando as cotas não foram excedidas

Se você sofreu uma limitação e não excedeu as Service Quotas, realize as seguintes ações:

AWS OFICIALAtualizada há 9 meses