Het vermijden van limieten met opnieuw proberen
Je hebt een functie gemaakt om Chat Completions uit te voeren met een aangepast bericht, maar hebt gemerkt dat het soms mislukt door snelheidslimieten. Je besluit de @retry decorator van de tenacity bibliotheek te gebruiken om fouten waar mogelijk te voorkomen.
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_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, tot maximaal 40 seconden, en om te stoppen na 4 pogingen.
Als de oefening verloopt, controleer dan of de interval- en pogingwaarden exact overeenkomen met wat hierboven is opgegeven."
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."}))