Ratenlimitfehler („Too Many Requests“, „Rate limit reached“) entstehen, wenn das Ratenlimit deiner Organisation erreicht wird. Es legt fest, wie viele Anfragen und Token pro Minute maximal übermittelt werden können. Wenn das Limit erreicht ist, kann deine Organisation erst wieder erfolgreich Anfragen senden, wenn das Ratenlimit zurückgesetzt wurde. Die Fehlermeldung sieht so aus:
Rate limit reached for gpt-3.5-turbo in organization org-exampleorgid123 on tokens per min.
Limit: 10000.000000 / min. Current: 10020.000000 / min. Wir empfehlen, diese Fehler mit exponentiellem Backoff zu behandeln. Exponentielles Backoff bedeutet, bei einem Ratenlimitfehler kurz zu warten und die fehlgeschlagene Anfrage anschließend erneut zu senden. Wenn die Anfrage weiterhin fehlschlägt, wird die Wartezeit verlängert und der Vorgang wiederholt. Das wird fortgesetzt, bis die Anfrage erfolgreich ist oder die maximale Anzahl an Wiederholungsversuchen erreicht wurde.
Da fehlgeschlagene Anfragen auf dein Minutenlimit angerechnet werden, funktioniert es nicht, eine Anfrage fortlaufend erneut zu senden. Ratenlimits können auch über kürzere Zeiträume gelten, zum Beispiel 1 Anfrage pro Sekunde bei einem Limit von 60 RPM. Daher können auch kurze Anfrage-Spitzen mit hohem Volumen zu Ratenlimitfehlern führen. Exponentielles Backoff funktioniert gut, weil es Anfragen zeitlich verteilt und so die Häufigkeit dieser Fehler verringert.
In Python könnte eine Lösung mit exponentiellem Backoff so aussehen:
from openai import OpenAI, RateLimitError
import backoff
client = OpenAI()
@backoff.on_exception(backoff.expo, RateLimitError)
def completions_with_backoff(**kwargs):
response = client.completions.create(**kwargs)
return response(Bitte beachte: Die Bibliothek backoff ist ein Drittanbieter-Tool. Wir empfehlen allen, externen Code für eigene Projekte sorgfältig zu prüfen.)
Wenn der Fehler trotz Implementierung von exponentiellem Backoff weiterhin auftritt, musst du möglicherweise deine Nutzungsstufe erhöhen. Deine aktuellen Ratenlimits und Hinweise dazu, wie du deine Vertrauensstufe erhöhen kannst, um deine Ratenlimits anzuheben, findest du im Bereich „Limits“ deiner Kontoeinstellungen.
