IniziaInizia gratis

Evitare i rate limit con i retry

Hai creato una funzione per eseguire Chat Completions con un messaggio personalizzato, ma a volte fallisce a causa dei rate limit. Decidi di usare il decorator @retry della libreria tenacity per evitare gli errori quando possibile.

Questo esercizio fa parte del corso

Sviluppare sistemi di AI con l'API di OpenAI

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la libreria tenacity con le funzioni necessarie: retry, wait_random_exponential e stop_after_attempt.
  • Crea un client dell'API OpenAI.
  • Completa i decorator di retry con i parametri necessari per iniziare a ritentare a intervalli di 5 secondi, fino a 40 secondi, e per interrompere dopo 4 tentativi.

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."}))
Modifica ed esegui il codice