Błędy limitu zapytań („Zbyt wiele żądań”, „Osiągnięto limit zapytań”) są spowodowane osiągnięciem limitu zapytań organizacji, czyli maksymalnej liczby żądań i tokenów, które można przesłać w ciągu minuty. Jeśli limit zostanie osiągnięty, organizacja nie może pomyślnie przesyłać żądań, dopóki limit zapytań nie zostanie zresetowany. Komunikat o błędzie wygląda tak:
Osiągnięto limit szybkości dla gpt-3.5-turbo w organizacji org-exampleorgid123 dla tokenów na minutę.
Limit: 10000.000000 / min. Bieżące: 10020.000000 / min. Zalecamy obsługę tych błędów przy użyciu wykładniczego opóźniania ponawiania prób. Wykładnicze opóźnianie ponawiania prób oznacza krótkie wstrzymanie działania po napotkaniu błędu limitu zapytań, a następnie ponowienie nieudanego żądania. Jeśli żądanie nadal się nie powiedzie, czas wstrzymania jest wydłużany, a proces powtarzany. Trwa to do momentu, aż żądanie zakończy się powodzeniem lub zostanie osiągnięta maksymalna liczba ponownych prób.
Ponieważ nieudane żądania wliczają się do limitu na minutę, ciągłe ponowne wysyłanie żądania nie zadziała. Limity zapytań mogą być stosowane w krótszych okresach — na przykład 1 żądanie na sekundę przy limicie 60 RPM — co oznacza, że krótkie serie dużej liczby żądań również mogą prowadzić do błędów limitu zapytań. Wykładnicze opóźnianie ponawiania prób działa dobrze, ponieważ rozkłada żądania w czasie, minimalizując częstotliwość tych błędów.
W Pythonie rozwiązanie z wykładniczym opóźnianiem ponawiania prób mogłoby wyglądać tak:
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(Uwaga: biblioteka backoff jest narzędziem innej firmy. Zachęcamy wszystkich naszych klientów do zachowania należytej staranności przy weryfikowaniu dowolnego kodu zewnętrznego używanego w ich projektach.)
Jeśli wdrożenie wykładniczego opóźniania ponawiania prób nadal skutkuje tym błędem, może być konieczne zwiększenie poziomu użycia. Bieżące limity zapytań oraz informacje o tym, jak zwiększyć poziom zaufania, aby podnieść limity zapytań, znajdziesz w sekcji limitów ustawień konta.
