Evitare i limiti di frequenza con il retry
Hai creato una funzione per eseguire Chat Completions con un messaggio personalizzato, ma hai notato che a volte fallisce a causa dei limiti di frequenza. Decidi di utilizzare il decoratore @retry della libreria tenacity per evitare errori quando possibile.
Questo esercizio fa parte del corso
Sviluppare sistemi di AI con l'API di OpenAI
Istruzioni dell'esercizio
"- Importa la libreria tenacity con le funzioni richieste: retry, wait_random_exponential e stop_after_attempt.
- Crea un client API OpenAI.
- Completa i decoratori di retry con i parametri necessari per iniziare a riprovare a intervalli di 5 secondi, fino a 40 secondi, e per interrompere dopo 4 tentativi.
Se l'esercizio va in timeout, assicurati che i valori di intervallo e tentativi corrispondano esattamente a quelli specificati sopra."
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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."}))