Fiabilité et cache
Résilience par modèle et cache facultatif de completions avec isolation stricte des tenants.
AI-FW fournit des paramètres de résilience par modèle et un cache facultatif.
Résilience#
Dans Model Inventory -> Edit -> Resilience (désactivé par défaut) : RetryLimit fixe les tentatives sur le même backend ; RetryStatuses définit les statuts HTTP (par défaut 429 et 5xx) ; ReliabilityMode choisit off, failover ou distribute ; PrimaryShare règle le poids principal ; AlternateEndpoints liste les secours. Failover les teste dans l’ordre ; Distribute suit les poids. off et RetryLimit 0 font un appel upstream. Aucun stream n’est mis en cache ; retry/failover n’agit qu’avant le premier octet.
Cache de completions#
Pour chat completions et messages : Exact réutilise les prompts identiques octet pour octet ; Semantic utilise des embeddings locaux (seuil par périmètre, défaut 0.98). Le cache s’active uniquement avec un périmètre global, model, modelgroup, agent ou agentgroup. Priorité : agent > agentgroup > model > modelgroup > global. La clé comprend chemin endpoint, corps après masquage et, par défaut, backend résolu. Jamais les en-têtes d’authentification.
Sécurité et limites#
Ne met pas en cache streams, prompts signalés ou masqués PII, réponses bloquées, réponses upstream non JSON ou non-2xx. Toute réponse du cache repasse par l’inspection. x-aifw-cache-refresh ignore la lecture, autorise l’écriture.
L’identité vient du principal authentifié. Hit sémantique exige même endpoint, modèle, backend et appelant. Chaque API key possède un namespace isolé. Cache anonyme désactivé par défaut ; s’il est activé, séparation IP au mieux, sans niveau sémantique. Budget mémoire limité.
Cache uniquement natif OpenAI chat et Anthropic Messages, pas entre facades. Réponses 2xx non JSON ou vides exclues.