OpenAI
Šis puslapis buvo išverstas mašininiu būdu. Peržiūrėti originalų straipsnį anglų kalba.

Kaip išspręsti 429: „Per daug užklausų“ klaidas?

Atnaujinta: 10 days ago

Užklausų dažnio ribojimo klaidos („Too Many Requests“, „Rate limit reached“) atsiranda pasiekus jūsų organizacijos užklausų dažnio ribojimą, t. y. maksimalų užklausų ir žetonų skaičių, kurį galima pateikti per minutę. Jei limitas pasiekiamas, organizacija negali sėkmingai teikti užklausų, kol užklausų dažnio ribojimas neatstatomas. Klaidos pranešimas atrodo taip:

Greičio limitas pasiektas gpt-3.5-turbo modeliui organizacijoje org-exampleorgid123 pagal žetonus per min. 
Limitas: 10000.000000 / min. Dabartinis: 10020.000000 / min.

Rekomenduojame šias klaidas tvarkyti naudojant eksponentinį laukimo laiko didinimą. Eksponentinis laukimo laiko didinimas reiškia trumpą pauzę įvykus užklausų dažnio ribojimo klaidai, po kurios nepavykusi užklausa kartojama. Jei užklausa vis tiek nepavyksta, pauzės trukmė padidinama ir procesas kartojamas. Tai tęsiama, kol užklausa pavyksta arba kol pasiekiamas maksimalus bandymų skaičius.

Kadangi nepavykusios užklausos įskaičiuojamos į jūsų minutės limitą, nuolatinis užklausos siuntimas iš naujo neveiks. Užklausų dažnio ribojimai gali būti taikomi trumpesniems laikotarpiams, pvz., 1 užklausa per sekundę esant 60 RPM limitui, todėl trumpi didelės apimties užklausų pliūpsniai taip pat gali sukelti užklausų dažnio ribojimo klaidų. Eksponentinis laukimo laiko didinimas veikia gerai, nes užklausos išskirstomos laike, kad šių klaidų pasitaikytų rečiau.

Python kalboje eksponentinio laukimo laiko didinimo sprendimas galėtų atrodyti taip:

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

(Atkreipkite dėmesį: backoff biblioteka yra trečiosios šalies įrankis. Raginame visus savo klientus kruopščiai patikrinti bet kokį išorinį kodą prieš naudojant jį savo projektuose.)

Jei įgyvendinus eksponentinį laukimo laiko didinimą ši klaida vis tiek pasireiškia, gali reikėti padidinti savo naudojimo pakopą. Dabartinius užklausų dažnio ribojimus ir tai, kaip padidinti pasitikėjimo pakopą, kad padidintumėte savo užklausų dažnio ribojimus, galite peržiūrėti paskyros nustatymų limitų skiltyje.

Ar šis straipsnis buvo naudingas?