AI Agents · Ders

Hız Sınırlama ve Kota Yönetimi

Tek bir kiracının OpenAI bütçenizi tüketememesi için kullanıcı, kuruluş ve uç nokta başına kotalar belirleyin.

3. ders / 415 adım

Hız Sınırlama ve Kota Yönetimi, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Sınırlar Neden Gerekli?

Sınırlar olmadan kötüye kullanan tek bir istemci şunları yapabilir:

  • OpenAI bütçenizi tüketebilir
  • Diğer kullanıcıların kaynaklara erişimini engelleyebilir
  • Hizmetinize DDoS saldırısı düzenleyebilir

Hız sınırları ve kotalar maliyeti, gecikmeyi ve adaleti korur.

Hız Sınırı ve Kota Karşılaştırması

  • Hız sınırı — saniye/dakika başına istek sayısı (kısa vadeli)
  • Kota — günlük/aylık toplam bütçe (uzun vadeli)

İkisine de ihtiyacınız vardır.

Belirteç Kovası Algoritması

Klasik algoritma şöyledir: Her kullanıcının sabit bir hızla yeniden doldurulan bir "kovası" vardır. Her istek bir belirteç alır. Belirteç yoksa hizmet de yoktur.

Redis Token Bucket Example

def allow(user_id, rate=10, capacity=30):
    key = f'rate:{user_id}'
    now = time.time()
    pipe = redis.pipeline()
    pipe.hgetall(key)
    state, _ = pipe.execute()
    tokens = float(state.get('tokens', capacity))
    last = float(state.get('last', now))
    tokens = min(capacity, tokens + (now - last) * rate)
    if tokens < 1:
        return False
    tokens -= 1
    redis.hset(key, mapping={'tokens': tokens, 'last': now})
    redis.expire(key, 60)
    return True

FastAPI Integration with slowapi

# pip install slowapi
from slowapi import Limiter
from slowapi.util import get_remote_address

limiter = Limiter(key_func=get_remote_address)
app.state.limiter = limiter

@app.post('/agents/qa')
@limiter.limit('10/minute')
def qa(req: AgentRequest):
    ...

Different Limits Per Tier

class User:
    def __init__(self, is_pro):
        self.is_pro = is_pro

class State:
    def __init__(self, is_pro):
        self.user = User(is_pro)

class Req:
    def __init__(self, is_pro):
        self.state = State(is_pro)

def limit_for(req):
    return '100/minute' if req.state.user.is_pro else '10/minute'

def qa(req):
    limit = limit_for(req)
    print(f'user is_pro={req.state.user.is_pro} -> rate limit {limit}')
    return limit

qa(Req(is_pro=True))
qa(Req(is_pro=False))

Maliyete Dayalı Kotalar

Yalnızca istekleri değil, harcanan dolar miktarını da sınırlayın:

def check_budget(user_id, predicted_cost):
    key = f'cost:{user_id}:{date.today()}'
    spent = float(redis.get(key) or 0)
    if spent + predicted_cost > daily_budget(user_id):
        raise HTTPException(429, 'Daily budget exceeded')

# After the call:
redis.incrbyfloat(key, actual_cost)
redis.expireat(key, midnight_tomorrow_ts)

Eşzamanlılık Üst Sınırları

Kullanıcı başına devam eden istekleri de sınırlayın:

key = f'inflight:{user_id}'
redis.sadd(key, request_id)
if redis.scard(key) > 3:
    raise HTTPException(429, 'Too many concurrent requests')
# Remove from set when the request finishes.

Genel Hız Sınırı

Alt taraftaki LLM API'lerini kendi hizmetinizden koruyun:

global_key = 'rate:global:llm'
if redis.incr(global_key) > 60:   # 60 calls per second
    raise HTTPException(503, 'Service overloaded')
redis.expire(global_key, 1)

Return Useful Errors

headers = {
    'X-RateLimit-Limit': '60',
    'X-RateLimit-Remaining': '0',
    'X-RateLimit-Reset': str(reset_time),
    'Retry-After': '30'
}
return JSONResponse({'error': 'rate-limited'}, status_code=429, headers=headers)

Dağıtık Hız Sınırları

Birden fazla API sunucusu çalıştırıyorsanız hız sınırları paylaşılmalıdır. Redis standart arka uçtur; Cloudflare ve Kong yönetilen alternatifler sunar.

Ani Trafik İzinleri

Gerçek kullanım ani yoğunluklar içerir. Küçük bir ani yoğunluğa izin verin (örneğin hız saniyede 10 ise aynı anda 30 isteğe izin verin). Belirteç kovası uygulamaları bunu daha yüksek bir `capacity` değeriyle doğal olarak yönetir.

Uyarılar

Şu durumlarda uyarı verin:

  • Genel hız sınırına ulaşılması dakikada X'ten fazla tetikleme oluşturduğunda
  • Herhangi bir kullanıcı sürekli olarak sınırına ulaştığında (muhtemelen yükseltmeye ihtiyacı vardır veya bir hata vardır)
  • Günlük bütçe %80'e yaklaştığında

İki Katmanlı Koruma

Neden hem hız sınırlarına hem de kotalara sahip olmalısınız?

Özet

Hız sınırları için belirteç kovası, kotalar için maliyet sayaçları, kullanıcı başına eşzamanlılık üst sınırları, genel devre kesici ve Retry-After içeren yararlı 429 yanıtları kullanın.

Başlamak ücretsiz

Yapay zeka eğitmeniyle AI Agents öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
60
Dersler
239

Sıkça Sorulan Sorular

“Hız Sınırlama ve Kota Yönetimi” dersi ücretsiz mi?

Evet — “Hız Sınırlama ve Kota Yönetimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Hız Sınırlama ve Kota Yönetimi” dersinde ne öğreneceğim?

Tek bir kiracının OpenAI bütçenizi tüketememesi için kullanıcı, kuruluş ve uç nokta başına kotalar belirleyin. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Hız Sınırlama ve Kota Yönetimi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aracıları API Arkasında Sunma
  2. Eşzamansız İş Akışları ve Arka Plan İşleri
  3. Hız Sınırlama ve Kota Yönetimi
  4. Aracılar için Mavi-Yeşil ve Kanarya Dağıtımları
← AI Agents Sayfasına Dön