ComenzarEmpieza gratis

Evitar los límites de velocidad con reintentos

Has creado una función para ejecutar Chat Completions con un mensaje personalizado, pero has notado que a veces falla debido a los límites de velocidad. Decides usar el decorador @retry de la biblioteca tenacity para evitar errores cuando sea posible.

Este ejercicio forma parte del curso

Desarrollar sistemas de IA con la API OpenAI

Ver curso

Instrucciones del ejercicio

"- Importa la biblioteca tenacity con las funciones requeridas: retry, wait_random_exponential y stop_after_attempt.

  • Crea un cliente de la API de OpenAI.
  • Completa los decoradores de reintento con los parámetros necesarios para comenzar a reintentar en un intervalo de 5 segundos, hasta 40 segundos, y detenerse después de 4 intentos.

Si el ejercicio se agota por tiempo, asegúrate de que los valores de intervalo e intentos coincidan exactamente con lo especificado arriba."

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código