Sobes.tech
Senior

Abonelik bazlı oran sınırı ve kota ile çok kiracılı LLM hizmeti tasarlayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Rate limit ve abonelik kotalarıyla çok kiracılı (multi-tenant) bir LLM servisi tasarlamak için birkaç temel unsuru göz önünde bulundurmak gerekir:

  1. Çok Kiracılık (multi-tenancy):

    • Her müşteriye (kiracıya) benzersiz bir kimlik atanır.
    • Veriler ve modeller izole edilir veya mantıksal olarak ayrılır, böylece güvenlik ve gizlilik sağlanır.
  2. Kimlik doğrulama ve yetkilendirme:

    • Müşterileri tanımlamak için API anahtarları veya OAuth kullanılır.
    • Her istekte erişim hakları ve abonelikler kontrol edilir.
  3. Hız sınırlaması:

    • Her müşteri için belirli bir zaman diliminde yapılan istek sayısı sınırlandırılır.
    • Token-bucket veya leaky bucket gibi algoritmalar kullanılabilir.
    • Limit durumları hızlı bir depolama (örneğin Redis) içinde saklanır.
  4. Abonelik kotaları:

    • Kullanım limitleri (örneğin, token veya aylık istek sayısı) plana göre belirlenir.
    • Tüketim izlenir ve aşıldığında engellenir veya bildirilir.
  5. Mimari:

    • Yönlendirme ve erişim kontrolü için API Gateway.
    • LLM isteklerini işlemek için mikroservisler.
    • Günlükler ve metrikler için depolama.
  6. İzleme ve günlükleme:

    • Kullanım, hata ve performans izlenir.

Node.js ve Redis kullanarak basitleştirilmiş rate limiting şeması örneği:

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 dakika
  max: (req) => {
    // Kullanıcının abonelik limitini al
    return req.user.subscriptionLimit || 100;
  },
  keyGenerator: (req) => req.user.id,
  handler: (req, res) => {
    res.status(429).json({ error: 'İstek limiti aşıldı' });
  }
});

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

Bu şekilde, hizmet müşterilerin izolasyonunu sağlar, yükü kontrol eder ve abonelik kısıtlamalarına uyar.