Aan de slagGa gratis aan de slag

Snelheidslimieten vermijden met retries

Je hebt een functie gemaakt om Chat Completions uit te voeren met een aangepast bericht, maar je merkt dat deze soms faalt door snelheidslimieten. Je besluit de @retry-decorator uit de tenacity-bibliotheek te gebruiken om waar mogelijk fouten te vermijden.

Deze oefening maakt deel uit van de cursus

AI-systemen ontwikkelen met de OpenAI API

Cursus bekijken

Oefeninstructies

  • Importeer de tenacity-bibliotheek met de vereiste functies: retry, wait_random_exponential en stop_after_attempt.
  • Maak een OpenAI API-client.
  • Vul de retry-decorators aan met de parameters die nodig zijn om te beginnen met opnieuw proberen met een interval van 5 seconden, oplopend tot 40 seconden, en te stoppen na 4 pogingen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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."}))
Code bewerken en uitvoeren