Flags et modèle de secours
Un flag étiquette vos appels pour les retrouver et les compter par projet. Un modèle de secours prend le relais quand le modèle principal ne répond pas, pour qu'un script en production ne s'arrête pas.
Les flags
Un flag est une étiquette libre que vous posez sur un appel : le nom d'un projet, d'un script, d'un client. Un sous-flag précise le flag : une étape, une fonction.
- 1 à 64 caractères chacun.
- Un sous-flag exige un flag.
- Tous deux sont facultatifs.
Dans Supervise, l'onglet « Activité » de la page Gateway IA filtre et répartit vos appels par flag. Voir Suivre la consommation.
Conversation : dans metadata
client.chat.completions.create(
model="anthropic/claude-haiku-4-5-20251001",
messages=[…],
metadata={"flag": "factures", "sub_flag": "relance"},
)
await client.chat.completions.create({
model: "anthropic/claude-haiku-4-5-20251001",
messages: […],
metadata: { flag: "factures", sub_flag: "relance" },
});
metadata accepte jusqu'à 16 clés. Les autres clés que flag, sub_flag et backup_model sont enregistrées avec l'appel : n'y mettez pas de données personnelles.
Autres usages : dans les en-têtes
Pour les images, la voix, la transcription, les embeddings, l'OCR et la vidéo, le flag passe par deux en-têtes : X-Supervise-Flag et X-Supervise-Sub-Flag.
client.images.generate(
model="openai/gpt-image-1",
prompt="…",
extra_headers={"X-Supervise-Flag": "catalogue", "X-Supervise-Sub-Flag": "visuels"},
)
await client.images.generate(
{ model: "openai/gpt-image-1", prompt: "…" },
{ headers: { "X-Supervise-Flag": "catalogue", "X-Supervise-Sub-Flag": "visuels" } },
);
Claude Code et Codex utilisent aussi ces en-têtes : voir Claude Code et Codex.
Les flags d'un déploiement
Quand vous déployez un programme qui appelle la Gateway, Supervise lit les flags écrits en toutes lettres dans le code et vous les montre à l'étape 05 de l'assistant. Vous pouvez en ajouter, par exemple un flag calculé à l'exécution que la lecture du code ne peut pas voir. Ces flags sont ensuite affichés dans la fiche du déploiement, section « Gateway IA ».
Les appels qui portent ces flags sont comptés dans le coût du déploiement, les jours où il est en ligne (Monitoring › ROI, colonne « Coût IA »). Un flag sans sous-flag compte tous ses sous-flags.
Écrivez vos flags en toutes lettres dans le code ("flag": "factures") plutôt que dans une variable : Supervise les retrouve tout seul.
Le modèle de secours
Ajoutez backup_model dans metadata : si le modèle principal ne répond pas, la Gateway passe aussitôt au modèle de secours, sans réessayer le premier.
client.chat.completions.create(
model="anthropic/claude-sonnet-4-5",
messages=[…],
metadata={"flag": "factures", "backup_model": "mistral/mistral-small-latest"},
)
Quand il prend le relais
| Le modèle principal… | Secours ? |
|---|---|
| est surchargé, trop lent, indisponible, ou en erreur chez le fournisseur | Oui |
| refuse la clé utilisée (celle de Supervise, ou celle de l'organisation), ou n'est plus trouvé chez le fournisseur | Oui |
| reçoit une requête invalide, un texte trop long, ou refuse le contenu | Non : le secours refuserait aussi |
Les règles
- Pour la conversation seulement, et un seul modèle de secours par appel.
- Vérifié avant l'appel : le modèle de secours doit être ouvert pour votre organisation et différent du modèle principal. Sinon l'appel est refusé (
400, paramètremetadata.backup_model) : vous le découvrez en écrivant le script, pas pendant une panne. - En streaming, le relais n'a lieu qu'avant le premier morceau de réponse. Une coupure en cours de réponse termine le flux par une erreur.
- La réponse le dit : l'en-tête
X-Supervise-Backup-Used: trueest présent, et le champmodelde la réponse est celui du modèle de secours. - Le coût est celui du modèle qui a répondu.
Claude Code et Codex n'utilisent pas de modèle de secours : en cas de souci, changez de modèle dans l'outil.