Strona główna → Pomoc

Jak poprawnie czytać 429 – retry-after i nagłówki limitów

429 zwykle zawiera nagłówek Retry-After w sekundach, a często też zestaw nagłówków mówiących, który limit się wyczerpał i kiedy się odnowi. Odczekanie tego czasu go usuwa; natychmiastowe ponowienie go przedłuża.

Co widzisz

Dlaczego tak się dzieje

Dostawcy mierzą naraz kilka wymiarów – żądania na minutę, tokeny na minutę, a czasem żądania równoczesne. Przekroczenie limitu tokenów przy liczbie żądań daleko poniżej limitu to powód, dla którego padają „tylko niektóre żądania”.

Limity tokenów liczą to, co wysyłasz, plus to, co rezerwujesz. Kilka żądań z dużym max_tokens może wyczerpać budżet tokenów na minutę, choć liczba żądań wygląda na znikomą.

Natychmiastowe ponowienia też się liczą. Ciasna pętla ponowień zamienia sekundową przerwę w trwałą blokadę – i to zwykle dlatego przejściowe 429 staje się stałe.

Sprawdź, czy to ta przyczyna

Gdy dostaniesz 429, wypisz nagłówki zamiast treści:

curl -s -D- -o /dev/null -X POST 'YOUR_BASE_URL/chat/completions' \
  -H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"model":"MODEL","messages":[{"role":"user","content":"hi"}]}' \
  | grep -i 'retry-after\|ratelimit\|^HTTP'

Respektuj Retry-After, gdy jest obecny. Gdy go brak, bezpiecznym ustawieniem domyślnym jest wykładnicze opóźnienie z losowym rozrzutem, zaczynające się od około sekundy.

Jak to naprawić

  1. Respektuj Retry-After przed własnym opóźnieniemJeśli nagłówek mówi 12 sekund, odczekanie 12 sekund działa. Twoje jednosekundowe opóźnienie nie działa i do tego kosztuje cię kolejną próbę.
  2. Dodaj losowy rozrzutBez losowego przesunięcia każdy klient w twojej flocie ponawia równocześnie i odbudowuje szczyt, przed którym się wycofujesz.
  3. Sprawdź, czy to naprawdę nie problem z saldemNiektóre bramki zwracają 429 przy pustym koncie. Takie nigdy nie znika po ponowieniu – przeczytaj treść błędu, zanim założysz, że to limit zapytań.
W APICLAN 429 z powodu pustego salda i 429 z powodu przeciążenia upstream mają różną treść. Pierwsze wymaga doładowania i nigdy nie uda się po ponowieniu; drugie zwykle znika w ciągu kilku sekund.

Powiązane

Unexpected token '<' przy wywołaniu API zgodnego z OpenAI401 invalid API key – gdy klucz wygląda dobrze, a i tak nie działa

Ostatnio sprawdzono 2026-10-01. Napisane na podstawie problemów zdiagnozowanych na działającej bramce zgodnej z OpenAI, a nie zebrane z innych stron.