ComenzarEmpieza gratis

Evitar la limitación de velocidad con el reintento

Has creado una función para ejecutar finalizaciones de chat con un mensaje personalizado, pero te has dado cuenta de que a veces falla debido a los límites de velocidad. Decides utilizar el Decorator @retry de la biblioteca tenacity para evitar errores en la medida de lo posible.

Este ejercicio forma parte del curso

Desarrollar sistemas de IA con la API de OpenAI

Ver curso

Instrucciones de ejercicio

  • Importa la biblioteca tenacity con las funciones necesarias: retry, wait_random_exponential, y stop_after_attempt.
  • Crea un cliente de la API de OpenAI.
  • Completa los Decorators de reintento con los parámetros necesarios para empezar a reintentar con un intervalo de 5 segundos, hasta 40 segundos, y para parar después de 4 intentos.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este 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