É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
Instructions
- Importez la bibliothèque
tenacity
avec les fonctions requises :retry
,wait_random_exponential
, etstop_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."}))