ComeçarComece gratuitamente

Evitar limites de taxa com tentativas

Você criou uma função para executar o endpoint Chat Completions com uma mensagem personalizada, mas notou que às vezes ela falha devido aos limites de taxa. Você decide usar o decorador @retry da biblioteca tenacity para evitar erros quando possível.

Este exercício faz parte do curso

Desenvolvimento de sistemas de IA com a API da OpenAI

Ver Curso

Instruções de exercício

  • Importe a biblioteca tenacity com as funções necessárias: retry, wait_random_exponential, e stop_after_attempt.
  • Crie um cliente da API da OpenAI.
  • Complete os decoradores de nova tentativa com os parâmetros necessários para iniciar a nova tentativa em um intervalo de 5 segundos, até 40 segundos, e parar após 4 tentativas.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Import the tenacity library
from ____ import ____

client = OpenAI(api_key="")

# Add the appropriate parameters to the decorator
@retry(____, ____)
def get_response(model, message):
    response = client.chat.completions.create(
      model=model,
      messages=[message]
    )
    return response.choices[0].message.content
print(get_response("gpt-4o-mini", {"role": "user", "content": "List ten holiday destinations."}))
Editar e executar código