CommencerCommencer gratuitement

Éviter les limites de débit avec la nouvelle tentative

Vous avez créé une fonction pour exécuter des Chat Completions avec un message personnalisé, mais vous avez remarqué qu'elle échoue 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 lorsque cela est possible.

Cet exercice fait partie du cours

Concevoir 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 reprise avec les paramètres nécessaires pour commencer à réessayer à un intervalle de 5 secondes, jusqu'à 40 secondes, et pour arrêter après 4 tentatives.

Si l'exercice expire, assurez-vous que les valeurs d'intervalle et de tentatives correspondent exactement à ce qui est spécifié ci-dessus."

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