Ошибки лимита запросов («Слишком много запросов», «Достигнут лимит запросов») возникают при достижении лимита запросов вашей организации — максимального числа запросов и токенов, которые можно отправить за минуту. Если лимит достигнут, организация не сможет успешно отправлять запросы, пока лимит запросов не будет сброшен. Сообщение об ошибке выглядит так:
Достигнут лимит запросов для gpt-3.5-turbo в организации org-exampleorgid123 по токенам в минуту.
Лимит: 10000.000000 / мин. Текущее значение: 10020.000000 / мин. Мы рекомендуем обрабатывать эти ошибки с помощью экспоненциальной задержки. Экспоненциальная задержка означает краткую паузу при возникновении ошибки лимита запросов, после чего выполняется повторная попытка неудачного запроса. Если запрос по-прежнему не выполняется успешно, длительность паузы увеличивается и процесс повторяется. Это продолжается до тех пор, пока запрос не будет выполнен успешно или пока не будет достигнуто максимальное число повторных попыток.
Поскольку неудачные запросы учитываются в вашем поминутном лимите, постоянная повторная отправка запроса не сработает. Лимиты запросов могут применяться к более коротким периодам — например, 1 запрос в секунду при лимите 60 запросов в минуту. Это означает, что короткие всплески большого объема запросов также могут приводить к ошибкам лимита запросов. Экспоненциальная задержка хорошо работает, распределяя запросы во времени, чтобы минимизировать частоту таких ошибок.
В Python решение с экспоненциальной задержкой может выглядеть так:
from openai import OpenAI, RateLimitError
import backoff
client = OpenAI()
@backoff.on_exception(backoff.expo, RateLimitError)
def completions_with_backoff(**kwargs):
response = client.completions.create(**kwargs)
return response(Обратите внимание: библиотека backoff — это сторонний инструмент. Мы рекомендуем всем нашим клиентам проявлять должную осмотрительность при проверке любого внешнего кода для своих проектов.)
Если после реализации экспоненциальной задержки эта ошибка все равно возникает, возможно, вам потребуется повысить уровень использования. Текущие лимиты запросов и информацию о том, как повысить уровень доверия, чтобы увеличить лимиты запросов, можно посмотреть в разделе лимитов настроек вашей учетной записи.
