429 Too Many Requests с заголовком Retry-After.
Почему на уровне рабочего пространства
Рабочие пространства — это то, как OrcaRouter группирует ключи, участников и биллинг, относящиеся к одной команде или человеку. Общие лимиты внутри рабочего пространства делают трафик предсказуемым по мере роста команды: добавление нового ключа (или нового участника) не умножает ваш общий бюджет. Если вам нужен более высокий потолок, обновите тарифный план рабочего пространства. OrcaRouter не раскрывает вызывающим лимиты запросов в разрезе моделей — с точки зрения вашего приложения шлюз ведёт себя как единый логический провайдер, что соответствует непрозрачности провайдеров. Внутреннее ограничение трафика к апстрим-провайдерам происходит прозрачно и не является частью публичного контракта.Ответ
Запрос с превышением лимита всегда возвращает:Retry-After.
Если тело присутствует, оно следует OpenAI-совместимому формату с
error.type, установленным в orcarouter_api_error. Сообщение error.message
может быть локализовано (сейчас на китайском) — структуру формата см. в
разделе Ошибки.
Retry-After указан в секундах. Это длительность окна ограничения
(консервативное значение — безопасно ждать ровно столько); в следующем
окне будет полный бюджет. Немедленный повтор без ожидания снова завершится
ошибкой.
Рекомендуемое поведение клиента
- При
429прочитайтеRetry-After. - Подождите указанное количество секунд.
- Повторите тот же запрос.
- Если возник второй
429, увеличьте время ожидания в 2 раза (экспоненциальный откат) вплоть до 60 секунд. - Если вы видите
429повторно, рассмотрите распределение трафика между несколькими моделями с помощьюextra_body.models— см. Резервирование моделей.
Retry-After автоматически
по умолчанию. Вам не нужен пользовательский код, если вы не отключили повторы.
Реактивно, а не предиктивно
OrcaRouter не возвращает заголовкиX-RateLimit-Remaining / X-RateLimit-Reset,
поэтому вы не можете заранее проверить, сколько бюджета осталось. Воспринимайте
429 как сигнал — отступайте при его появлении и возобновляйте работу.