Umgehen von Ratenbeschränkungen mit Wiederholung
Du hast eine Funktion zum Ausführen von Chat-Abschlüssen mit einer benutzerdefinierten Nachricht erstellt, aber festgestellt, dass sie manchmal aufgrund von Ratenbeschränkungen fehlschlägt. Du entscheidest dich, den @retry
Dekorator aus der tenacity
Bibliothek zu verwenden, um Fehler möglichst zu vermeiden.
Diese Übung ist Teil des Kurses
Entwicklung von KI-Systemen mit der OpenAI API
Anleitung zur Übung
- Importiere die Bibliothek
tenacity
mit den erforderlichen Funktionen:retry
,wait_random_exponential
, undstop_after_attempt
. - Erstelle einen OpenAI API-Client.
- Ergänze die Wiederholungsdekoratoren mit den Parametern, die erforderlich sind, um die Wiederholungsversuche in einem Intervall von 5 Sekunden bis zu 40 Sekunden zu starten und nach 4 Versuchen zu beenden.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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."}))