Budget e caching
Limiti di velocità e budget per chiave, tetti di organizzazione e le due cache di risposta.
Budget e limiti
Ogni chiave porta rate limit (richieste e token al minuto) e un budget di spesa con un periodo: total, daily o monthly. Un tetto aggregato per l'intera organizzazione sta sopra ogni chiave.
L'applicazione avviene al gateway, in denaro reale: ogni richiesta viene prezzata dal listino prezzi in tempo reale e addebitata prima dell'inoltro. Superato il rate limit la chiamata restituisce 429; superato il budget, 402. La richiesta non raggiunge mai un provider. Se i contatori diventano irraggiungibili, il controllo fallisce in chiuso e si riconcilia con il registro di audit immutabile invece di tirare a indovinare.
# past the key's rate limit — the request never reaches a provider { "error": { "message": "rate limit exceeded for this key", "type": "rate_limit_error", "param": null, "code": "rate_limit_exceeded" } }
# budget reached or no active plan — activate a plan or raise the budget { "error": { "message": "spend budget reached for this key", "type": "insufficient_quota", "param": null, "code": "insufficient_quota" } }
Caching
Due cache di risposta opzionali: esatta (una corrispondenza sulla richiesta normalizzata) e semantica (similarità vettoriale con una soglia conservativa). Entrambe sono rigorosamente isolate per organizzazione, cifrate a riposo e richiedono la conservazione dei contenuti. Abilitale nella vista Cache della Console.
Ogni riga di audit registra come è stata servita la chiamata: none | exact | semantic.
# identical request twice — the second is served from the exact cache curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mistral/mistral-large-latest", "messages": [{ "role": "user", "content": "Define GDPR" }] }' # audit row of call #2: cache_hit: exact · no provider dispatch, no token cost