Sobes.tech
Senior

Abunəlik əsasında rate limit və kvotalar ilə çox kirayəli LLM xidməti dizayn edin.

sobes.tech Süni İntellekt

AI-dan cavab

Çox kiracılı (multi-tenant) LLM xidməti dizayn etmək üçün rate limit və abunəlik kvotaları ilə əlaqədar bir neçə əsas aspekti nəzərə almaq lazımdır:

  1. Multi-tenancy:

    • Hər müştəriyə (kiracıya) unikal identifikator verilir.
    • Məlumatlar və modellər izolyasiya olunur və ya məntiqi olaraq ayrılır ki, təhlükəsizlik və gizlilik təmin olunsun.
  2. İstifadəçi identifikasiyası və icazə:

    • Müştəriləri tanımaq üçün API-keys və ya OAuth istifadə edin.
    • Hər sorğuda giriş hüquqları və abunəlikləri yoxlayın.
  3. Rate limiting:

    • Hər müştəri üçün müəyyən zaman ərzində edilən sorğu sayını məhdudlaşdırın.
    • Token-bucket və ya leaky bucket kimi alqoritmlərdən istifadə edə bilərsiniz.
    • Limitlərin vəziyyətini sürətli yaddaşda (məsələn, Redis) saxlayın.
  4. Abunəlik kvotaları:

    • İstifadə limiti (məsələn, token və ya aylıq sorğu sayı) tarifə görə müəyyən edin.
    • İstifadəni izləyin və aşkar etdikdə bloklayın və ya xəbərdarlıq edin.
  5. Mimari:

    • API Gateway vasitəsilə marşrutlaşdırma və giriş nəzarəti.
    • LLM-ə edilən sorğuları işləyən mikroservislər.
    • Loglar və metriklər üçün saxlama.
  6. Monitorinq və qeydiyyat:

    • İstifadə, səhvlər və performansı izləyin.

Node.js və Redis ilə sadə rate limiting sxeminin nümunəsi:

const rateLimit = require('express-rate-limit');
const RedisStore = require('rate-limit-redis');
const redisClient = require('./redisClient');

const limiter = rateLimit({
  store: new RedisStore({ client: redisClient }),
  windowMs: 60 * 1000, // 1 dəqiqə
  max: (req) => {
    // İstifadəçinin abunəlik limitini əldə edin
    return req.user.subscriptionLimit || 100;
  },
  keyGenerator: (req) => req.user.id,
  handler: (req, res) => {
    res.status(429).json({ error: 'Sorğu limiti keçildi' });
  }
});

app.use('/api/llm', authenticateUser, limiter, llmHandler);

Bu şəkildə, xidmət müştərilərin izolyasiyasını təmin edir, yükü idarə edir və abunəlik məhdudiyyətlərinə riayət edir.