Ограничение скорости и 429
Три причины 429
- Слишком высокая скорость запросов: за короткое время параллелизм/QPS превышает текущий тарифный уровень аккаунта;
- Недостаточно лимита токенов: достигнут верхний предел лимита, установленный для токенов;
- Ограничение скорости на стороне upstream-модели: у отдельных моделей upstream перегружен; если шлюз уже автоматически повторил попытку и сервис всё ещё недоступен, ошибка передаётся дальше вниз по цепочке.
Поле error.message в теле ответа укажет конкретную причину.
Правильный способ повторных попыток
Неудача 1-го раза → подождать 1s + случайный джиттер → повторитьНеудача 2-го раза → подождать 2s + случайный джиттер → повторитьНеудача 3-го раза → подождать 4s + случайный джиттер → повторить, при дальнейшей неудаче — оповестить- Обязательно добавляйте случайный джиттер, чтобы несколько клиентов не повторяли запросы в одном ритме и не вызывали лавинообразный эффект;
- Для пакетных задач используйте очередь для контроля параллелизма (например, начать с 5–10 одновременных запросов и затем корректировать по мере наблюдения за успешностью);
- Повторные попытки для 429 из-за нехватки лимита неэффективны; сначала нужно пополнить баланс или увеличить верхний предел токенов.
Как снизить вероятность срабатывания
- Переносите крупные пакетные задачи на непиковое время;
- Для длинных текстовых задач сокращайте число запросов, объединяя больше действий в один запрос, а не отправляя частые мелкие запросы;
- Для сценариев, допускающих деградацию, настройте запасную модель: при 429 у основной модели автоматически переключайтесь;
- Корпоративным пользователям, которым нужен более высокий уровень параллелизма, пожалуйста, обратитесь в поддержку через консоль для увеличения лимита.