Грешките, свързани с лимита на заявките („Too Many Requests“, „Rate limit reached“), се причиняват от достигане на лимита на заявките на вашата организация, който е максималният брой заявки и токени, които могат да се подават на минута. Ако лимитът бъде достигнат, организацията не може успешно да подава заявки, докато лимитът на заявките не бъде нулиран. Съобщението за грешка изглежда така:
Достигнато е ограничението на скоростта за gpt-3.5-turbo в организация org-exampleorgid123 за токени на минута.
Лимит: 10000.000000 / мин. Текущо: 10020.000000 / мин. Препоръчваме да обработвате тези грешки чрез експоненциално изчакване. Експоненциалното изчакване означава да се направи кратка пауза при възникване на грешка, свързана с лимита на заявките, след което неуспешната заявка да се опита отново. Ако заявката все още е неуспешна, продължителността на паузата се увеличава и процесът се повтаря. Това продължава, докато заявката бъде успешна или докато бъде достигнат максимален брой повторни опити.
Тъй като неуспешните заявки се отчитат към вашия лимит за минута, непрекъснатото повторно изпращане на заявка няма да проработи. Лимитите на заявките могат да се прилагат за по-кратки периоди – например 1 заявка в секунда при лимит от 60 RPM – което означава, че кратките пикове с голям обем заявки също могат да доведат до грешки, свързани с лимита на заявките. Експоненциалното изчакване работи добре, като раздалечава заявките, за да минимизира честотата на тези грешки.
В 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 е инструмент на трета страна. Насърчаваме всички наши клиенти да извършат необходимата проверка, когато става въпрос за валидиране на външен код за техните проекти.)
Ако прилагането на експоненциално изчакване все още води до тази грешка, може да се наложи да увеличите своя usage tier. Можете да видите текущите си лимити на заявките и как да увеличите своя trust tier, за да повишите лимитите си на заявките, в раздела за лимити в настройките на акаунта си.
