Rate limiting og håndtering af API-kvoter
Beskyt produktionsagenter mod providerens rate limits og løbske omkostninger ved at begrænse requests, gentage dem med backoff og administrere kvoter pr. bruger.
Rate limiting og håndtering af API-kvoter er en gratis AI-agenter med LangChain og autonome arbejdsgange-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i AI-agenter med LangChain og autonome arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AI-agenter med LangChain og autonome arbejdsgange-kurset indeholder 4 lektioner i alt.
De begrænsninger, du møder
LLM-udbydere begrænser forbruget på to måder:
- Forespørgsler pr. minut (RPM)
- Tokens pr. minut (TPM)
Hvis du overskrider dem, returnerer kald 429 Too Many Requests, og dine agenter bryder sammen under belastning.
Hvorfor du bør begrænse proaktivt
Det er spild af ressourcer at vente på 429-fejl og prøve igen. Proaktiv hastighedsbegrænsning spreder forespørgslerne ud, så du holder dig under grænsen, udjævner trafikken og helt undgår fejl.
Hastighedsbegrænser på klientsiden
LangChain kan begrænse modelkald med en indbygget hastighedsbegrænser, der frigiver et fast antal forespørgsler pr. sekund.
from langchain_core.rate_limiters import InMemoryRateLimiter
limiter = InMemoryRateLimiter(
requests_per_second=2,
max_bucket_size=5
)Tilknytning til modellen
Send begrænseren til chatmodellen. Nu venter hvert kald automatisk på sin tur.
llm = ChatOpenAI(
model='gpt-4o-mini',
rate_limiter=limiter
)Prøv igen med eksponentiel backoff
Nogle 429-fejl og midlertidige fejl kan ikke undgås. Prøv igen med gradvist længere forsinkelser, så du ikke overbelaster udbyderen.
llm_with_retry = llm.with_retry(
stop_after_attempt=5
)Overholdelse af Retry-After
Udbydere returnerer ofte en Retry-After-header, der fortæller, hvor længe du skal vente. Det er både høfligere og mere effektivt at følge den end at bruge en fast forsinkelse.
wait = int(response.headers.get('Retry-After', '1'))Kvoter pr. bruger
Ud over udbydernes grænser fastsætter du dine egne kvoter pr. bruger for at styre omkostninger og sikre fairness. Spor forbruget i et lager som Redis, og afvis eller sæt anmodninger i kø, når en bruger overskrider sin kvote.
used = redis.incr(f'quota:{user_id}')
if used > DAILY_LIMIT:
raise QuotaExceeded()Token-bucket-algoritmen
Det almindelige mønster er en token-bucket: tokens fyldes op med en jævn hastighed, hver anmodning bruger ét token, og en tom bucket betyder, at man må vente. Det tillader korte bursts, samtidig med at den gennemsnitlige hastighed begrænses.
Køer under belastning
Når efterspørgslen overstiger dine grænser, skal du sætte anmodninger i kø i stedet for at droppe dem. En baggrundsarbejder tømmer køen med en sikker hastighed, så systemet forbliver stabilt.
Fordeling på tværs af nøgler
Ved høj gennemstrømning kan du skifte mellem flere API-nøgler eller udbydere og fordele belastningen, så ingen enkelt nøgle rammer sin grænse. Spor forbruget for hver nøgle separat.
Overvågning af grænser
Spor antallet af 429-svar, og hvor tæt du er på grænserne. Stigende antal 429-svar viser, at du har brug for et højere abonnement, bedre hastighedsbegrænsning eller flere nøgler, før brugerne oplever fejl.
Hurtigt tjek
Test din viden om hastighedsbegrænsning.
Opsummering
Du har lært at håndtere grænser og kvoter i produktion:
- Udbydere begrænser RPM og TPM; 429-svar får agenter til at gå i stykker
- Brug en
InMemoryRateLimitertil proaktivt at begrænse hastigheden - Tilføj nye forsøg med backoff, og respekter
Retry-After - Håndhæv kvoter pr. bruger med en token-bucket
- Sæt anmodninger i kø, skift mellem nøgler, og overvåg antallet af 429-svar
God håndtering af grænser holder agenter, der kører i stor skala, pålidelige og økonomisk overkommelige.
Lær AI-agenter med LangChain og autonome arbejdsgange med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 50
Ofte stillede spørgsmål
Er lektionen “Rate limiting og håndtering af API-kvoter” gratis?
Ja — hele teksten til “Rate limiting og håndtering af API-kvoter” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af AI-agenter med LangChain og autonome arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. AI-agenter med LangChain og autonome arbejdsgange-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Rate limiting og håndtering af API-kvoter”?
Beskyt produktionsagenter mod providerens rate limits og løbske omkostninger ved at begrænse requests, gentage dem med backoff og administrere kvoter pr. bruger. Du øver dig i AI-agenter med LangChain og autonome arbejdsgange med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på AI-agenter med LangChain og autonome arbejdsgange?
Der kræves ingen tidligere erfaring. AI-agenter med LangChain og autonome arbejdsgange på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Rate limiting og håndtering af API-kvoter”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne AI-agenter med LangChain og autonome arbejdsgange-lektion?
Ja. Alle AI-agenter med LangChain og autonome arbejdsgange-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Deployment af agents på cloudplatforme
- Håndtering af agenttilstand og sessioner
- Skalering af agentarkitekturer
- Rate limiting og håndtering af API-kvoter