É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
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."}))