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
Instruções de exercício
- Importe a biblioteca
tenacity
com as funções necessárias:retry
,wait_random_exponential
, estop_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."}))