Лимиты и повторные запросы
Ограничения нагрузки и безопасная стратегия повторов
Ограничения зависят от модели, поставщика и настроек аккаунта Успешная серия не гарантирует ту же частоту и параллельность при следующих запросах
Контекст и вывод
Учитывайте входные сообщения, системную инструкцию, инструменты и их результаты
Общий контекст должен соответствовать ограничениям выбранной модели
max_tokens и аналогичные параметры задают запрашиваемый бюджет вывода и не ограничивают денежные расходы
Не проверяйте предел модели заведомо завышенным лимитом, такой запрос может быть принят Используйте доступные сведения о модели и ограничения вашей интеграции
Повторные запросы
| Ситуация | Стратегия |
|---|---|
| 400, 401, 403, 404 | Исправить причину до повторного обращения |
| 402 | Уточнить источник ограничения средств в теле ошибки, устранить причину до повтора |
model_not_found | Обновить каталог и модель |
| 429 | Снизить частоту, учесть Retry-After при наличии |
| Сетевая ошибка или временный 5xx | Безопасную операцию повторить с задержкой и пределом попыток, перед созданием ресурса проверить первую попытку |
| Таймаут после отправки | Проверить первую попытку, запрос мог быть выполнен |
| Выполненный инструмент с побочным эффектом | Не выполнять повторно без проверки идентификатора операции |
Используйте экспоненциальную задержку со случайным разбросом Базовые интервалы 1, 2 и 4 секунды можно задать в клиенте, они не гарантируют восстановление сервиса за это время Ограничьте число попыток и общее время операции
Повторы в SDK
Клиентские библиотеки могут повторять запросы автоматически Проверьте настройки SDK и приложения, чтобы их повторы не накладывались друг на друга
В Python-клиенте OpenAI max_retries=0 отключает встроенные повторы и позволяет реализовать собственную стратегию
Не отключайте обработку всех временных ошибок только из-за случая model_not_found
Заголовки лимитов
Не используйте x-ratelimit-* как точное состояние баланса или квоты ключа GetAPI
Значения и состав заголовков могут зависеть от поставщика
Контролируйте число запросов и одновременных задач в приложении
Расход
Повторный вызов может оплачиваться отдельно Ограничьте число шагов агента, параллельность и длительность задачи Сверяйте фактический расход в личном кабинете