CommencerCommencer gratuitement

Éviter les limites de débit grâce à la relance

Vous avez créé une fonction pour exécuter des clôtures de chat avec un message personnalisé, mais vous avez remarqué qu'elle échouait parfois en raison des limites de débit. Vous décidez d'utiliser le décorateur @retry de la bibliothèque tenacity pour éviter les erreurs dans la mesure du possible.

Cet exercice fait partie du cours

Développer des systèmes d'IA avec l'API OpenAI

Afficher le cours

Instructions

  • Importez la bibliothèque tenacity avec les fonctions requises : retry, wait_random_exponential, et stop_after_attempt.
  • Créez un client API OpenAI.
  • Complétez les décorateurs de réessai avec les paramètres nécessaires pour commencer à réessayer à un intervalle de 5 secondes, jusqu'à 40 secondes, et pour s'arrêter après 4 tentatives.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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."}))
Modifier et exécuter le code