Limity szybkości
Limity stosowane w tym wdrożeniu, wyświetlone na podstawie tabeli odczytywanej przez limiter, wraz z tym, co zlicza każdy zasobnik.
| Zasobnik | Limit | Okno | Zliczane |
|---|---|---|---|
| key_chat wywołania wnioskowania wykonane jednym kluczem API |
600 | 1 min | na klucz API |
| org_chat wywołania wnioskowania w całej organizacji |
1800 | 1 min | na organizację |
| platform wywołania API platformy: organizacja, klucze, użycie, ślady, polityki |
300 | 1 min | na klucz API |
| public_chat anonimowe wywołania playgroundu |
20 | 1 h | na adres IP |
| public_page żądania stron publicznych |
300 | 1 h | na adres IP |
| public_card_request żądania kart modeli wysyłane z formularza publicznego |
5 | 1 h | na adres IP |
| auth próby logowania, rejestracji, odzyskiwania i resetowania hasła |
20 | 15 min | na adres IP |
Współbieżność
Co najwyżej 8 żądań może być jednocześnie w toku na jednym kluczu API. Żądanie powyżej tego limitu czeka, zamiast zakończyć się niepowodzeniem, dopóki kolejka nie jest pełna.
Jak wygląda odmowa
429 z kodem rate_limit_exceeded i typem rate_limit_error. Obecnie nie ma nagłówków x-ratelimit-* ani retry-after: komunikat podaje czas resetowania okna i to jest jedyny sygnał. Traktuj 429 jako możliwe do ponowienia z opóźnieniem; traktuj każdy inny błąd w tej dokumentacji jako żądanie, które musi się zmienić, zanim będzie mogło się powieść.
Gdzie znajduje się licznik
Okna są zliczane w procesie API i zapisywane z powrotem do bazy danych co kilka sekund, więc restart kontynuuje okno, zamiast przydzielać nowy budżet. Pułap, który z tego wynika, jest podany, a nie odkrywany: licznik jest na węzeł API, więc dwa węzły podwajają każdy efektywny limit. REDIS_URL jest zarezerwowany dla wersji współdzielonej i nic go jeszcze nie odczytuje — uruchom jeden węzeł API albo zaakceptuj limity na węzeł.