Volumelimietfouten ('Too Many Requests', ‘Rate limit reached’) worden veroorzaakt doordat de volumelimiet van je organisatie wordt bereikt. Dit is het maximale aantal verzoeken en tokens dat per minuut kan worden ingediend. Als de limiet is bereikt, kan de organisatie pas weer verzoeken succesvol indienen wanneer de volumelimiet is gereset. De foutmelding ziet er als volgt uit:
Rate limit bereikt voor gpt-3.5-turbo in organisatie org-exampleorgid123 op tokens per minuut.
Limiet: 10000.000000 / min. Huidig: 10020.000000 / min. We raden aan deze fouten af te handelen met exponentiële backoff. Exponential backoff houdt in dat er kort wordt gewacht wanneer een volumelimietfout optreedt, waarna het mislukte verzoek opnieuw wordt geprobeerd. Als het verzoek nog steeds mislukt, wordt de wachttijd verlengd en wordt het proces herhaald. Dit gaat door totdat het verzoek succesvol is of totdat het maximale aantal nieuwe pogingen is bereikt.
Omdat mislukte verzoeken meetellen voor je limiet per minuut, werkt het niet om een verzoek voortdurend opnieuw te verzenden. Volumelimieten kunnen over kortere perioden worden toegepast - bijvoorbeeld 1 verzoek per seconde voor een limiet van 60 RPM - wat betekent dat korte pieken met veel verzoeken ook tot volumelimietfouten kunnen leiden. Exponential backoff werkt goed doordat verzoeken worden gespreid om de frequentie van deze fouten te minimaliseren.
In Python kan een oplossing met exponentiële backoff er als volgt uitzien:
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(Let op: de backoff-bibliotheek is een tool van derden. We moedigen al onze klanten aan om zelf zorgvuldig te controleren of externe code geschikt is voor hun projecten.)
Als het implementeren van exponentiële backoff nog steeds tot deze fout leidt, moet je mogelijk je gebruiksniveau verhogen. Je kunt je huidige volumelimieten bekijken en zien hoe je je vertrouwensniveau kunt verhogen om je volumelimieten te verhogen in het gedeelte Limieten van je accountinstellingen.
