Лимиты запросов - это ограничения, которые наше API налагает на количество раз, когда пользователь или клиент может получить доступ к нашим услугам в определенный период времени.

Лимиты запросов являются обычной практикой для API и устанавливаются по нескольким причинам:

  • Они помогают защитить от злоупотребления или неправильного использования API. Например, злоумышленник может наводнить API запросами в попытке перегрузить его или вызвать сбои в работе. Установив лимиты запросов, OpenAI может предотвратить подобную активность.
  • Лимиты запросов помогают гарантировать, что у всех есть справедливый доступ к API. Если один человек или организация делает чрезмерное количество запросов, это может затормозить работу API для всех остальных. Ограничивая количество запросов, которое может сделать один пользователь, OpenAI гарантирует, что максимальное количество людей сможет использовать API без замедления.
  • Лимиты запросов могут помочь OpenAI управлять общей нагрузкой на его инфраструктуру. Если количество запросов к API резко увеличивается, это может повлечь за собой нагрузку на серверы и проблемы с производительностью. Установив лимиты запросов, OpenAI может помочь обеспечить плавный и стабильный опыт для всех пользователей.

Пожалуйста, ознакомьтесь с этим документом полностью, чтобы лучше понять, как работает система лимитов запросов OpenAI. Мы включили примеры кода и возможные решения для управления общими проблемами. Мы также включили детали о том, как ваши лимиты запросов автоматически увеличиваются в разделе уровней использования ниже.

Ограничения по частоте измеряются пятью способами: RPM (запросы в минуту), RPD (запросы в день), TPM (токены в минуту), TPD (токены в день) и IPM (изображения в минуту). Предел можно достичь по любому из этих параметров в зависимости от того, что произойдет первым. Например, вы можете отправить 20 запросов с использованием всего 100 токенов на конечную точку ChatCompletions, и это заполнит ваш лимит (если ваш RPM был 20), даже если вы не отправили 150k токенов (если ваш лимит TPM был 150k) в рамках этих 20 запросов.

Другие важные вещи, которые стоит отметить:

  • Ограничения по частоте устанавливаются на уровне организации, а не на уровне пользователя.
  • Ограничения по частоте различаются в зависимости от используемой модели.
  • Также устанавливаются лимиты на общую сумму, которую организация может тратить на API каждый месяц. Они также известны как "лимиты использования".

Вы можете просмотреть ограничения по частоте и использованию для вашей организации в разделе лимитов в настройках вашего аккаунта. По мере увеличения вашего использования OpenAI API и расходов на наш API, мы автоматически переводим вас на следующий уровень использования. Это обычно приводит к увеличению ограничений по частоте для большинства моделей.

УровеньКвалификацияЛимиты использования
Бесплатно-$100 / месяц
Уровень 1$5 оплачено$100 / месяц
Уровень 2$50 оплачено и 7+ дней с момента первого успешного платежа$500 / месяц
Уровень 3$100 оплачено и 7+ дней с момента первого успешного платежа$1,000 / месяц
Уровень 4$250 оплачено и 14+ дней с момента первого успешного платежа$5,000 / месяц
Уровень 5$1,000 оплачено и 30+ дней с момента первого успешного платежа$10,000 / месяц

Выберите уровень ниже, чтобы просмотреть сводку лимитов по моделям для каждого тарифа.

  • Free
  • Tier 1
  • Tier 2
  • Tier 3
  • Tier 4
  • Tier 5

Это краткая сводка, и существуют исключения для отдельных моделей из этих лимитов (например, для некоторых устаревших моделей или моделей с более большими контекстными окнами действуют другие лимиты). Чтобы просмотреть точные лимиты для каждой модели для вашего аккаунта, посетите раздел лимитов в настройках вашего аккаунта.

МодельRPMRPDTPMTPD
gpt-3.5-turbo320040,000
text-embedding-ada-0023200150,000
whisper-13200
tts-13200
dall-e-25 img/min
dall-e-31 img/min
* Модели gpt-4-1106-preview и gpt-4-vision-preview в настоящее время находятся в предварительной версии с ограничительными лимитами скорости, которые делают их подходящими для тестирования и оценок, но не для использования в производстве. Мы планируем постепенно увеличивать эти лимиты в ближайшие недели с намерением сравнять их с текущими лимитами скорости gpt-4 после того, как модели выйдут из предварительной версии. По мере того, как эти модели будут приняты для рабочих нагрузок в производстве, мы ожидаем умеренное увеличение задержки по сравнению с этой фазой предварительного просмотра.

Помимо просмотра вашего лимита частоты на странице вашего аккаунта, вы также можете просматривать важную информацию о ваших лимитах частоты, такую как оставшиеся запросы, токены и другие метаданные в заголовках HTTP-ответа.

Вы можете ожидать увидеть следующие поля заголовка:

ПолеПример значенияОписание
x-ratelimit-limit-requests60Максимальное количество запросов, разрешенных до исчерпания лимита частоты.
x-ratelimit-limit-tokens150000Максимальное количество токенов, разрешенных до исчерпания лимита частоты.
x-ratelimit-remaining-requests59Оставшееся количество запросов, разрешенных до исчерпания лимита частоты.
x-ratelimit-remaining-tokens149984Оставшееся количество токенов, разрешенных до исчерпания лимита частоты.
x-ratelimit-reset-requestsВремя до сброса лимита частоты (основанного на запросах) в его исходное состояние.
x-ratelimit-reset-tokens6м0сВремя до сброса лимита частоты (основанного на токенах) в его исходное состояние.

Вы также должны быть осторожны при предоставлении программируемого доступа, функций массовой обработки и автоматизированной публикации в социальных сетях - рассмотрите возможность их активации только для доверенных клиентов.

Чтобы защититься от автоматизированного и массового неправомерного использования, установите лимит использования для отдельных пользователей в течение определенного временного интервала (ежедневно, еженедельно или ежемесячно). Рассмотрите возможность введения жесткого лимита или процесса ручной проверки для пользователей, превышающих лимит.

Один из простых способов избежать ошибок ограничения скорости - это автоматически повторять запросы с случайной экспоненциальной задержкой. Повторные попытки с экспоненциальной задержкой означают выполнение короткой паузы, когда возникает ошибка ограничения скорости, затем повторная отправка неудачного запроса. Если запрос по-прежнему неудачен, длительность паузы увеличивается, и процесс повторяется. Это продолжается до тех пор, пока запрос не будет успешным или пока не будет достигнуто максимальное количество повторных попыток. Такой подход имеет много преимуществ:

  • Автоматические повторные попытки означают, что вы можете восстановиться от ошибок ограничения скорости без сбоев или потери данных
  • Экспоненциальная задержка означает, что ваши первые повторные попытки могут быть выполнены быстро, при этом вы все еще получаете преимущество от более длинных задержек, если ваши первые несколько попыток терпят неудачу
  • Добавление случайного дрожания к задержке помогает повторным попыткам не совпадать по времени.

Обратите внимание, что неудачные запросы учитываются в вашем лимите в минуту, поэтому непрерывная переотправка запроса не сработает.

Ниже приведены несколько примеров решений для Python, которые используют экспоненциальную задержку.

Ваш лимит частоты запросов рассчитывается как максимум из max_tokens и оценочного количества токенов на основе количества символов в вашем запросе. Постарайтесь установить значение max_tokens как можно ближе к ожидаемому размеру ответа.

API OpenAI имеет отдельные ограничения для запросов в минуту и токенов в минуту.

Если вы достигли лимита по количеству запросов в минуту, но у вас есть свободная емкость по токенам в минуту, вы можете увеличить пропускную способность, объединяя несколько задач в каждый запрос. Это позволит вам обрабатывать больше токенов в минуту, особенно с нашими меньшими моделями.

Отправка пакета запросов работает точно так же, как и обычный вызов API, за исключением того, что вы передаете список строк в параметр prompt вместо одной строки.

Внимание: объект ответа может не возвращать завершения в порядке подсказок, поэтому всегда помните о необходимости сопоставлять ответы с подсказками, используя поле индекса.