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
Oefeninstructies
- Importeer de
tenacity-bibliotheek met de vereiste functies:retry,wait_random_exponentialenstop_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."}))