1. Pourquoi filtrer la sortie ia non sûre à la surface de sortie
Le filtrage côté entrée attrape un mauvais prompt. Il ne peut pas attraper une mauvaise réponse : un modèle amené hors-politique, un fine-tune aux guardrails intégrés plus faibles, ou un prompt parfaitement raisonnable qui a produit une complétion déraisonnable. La surface de sortie est l’endroit où vous affirmez « peu importe pourquoi, ce texte ne quitte pas la passerelle ». Une règle de passerelle se déclenche de manière déterministe et s’applique également à chaque modèle derrière votre clé. Et chaque règle qui se déclenche atterrit dans le flux Matches de l’espace de travail — type de règle, action, surface — de sorte que vous disposez d’une piste d’audit de ce qui a été attrapé et de ce qui a été laissé passer.La défense vit dans la passerelle, pas dans votre application. Éditez le
guardrail et le changement prend effet au prochain appel pour chaque clé qui
y est attachée — aucun redéploiement, aucun changement de SDK. Votre
application continue d’appeler
/v1/chat/completions exactement comme avant.2. Les deux façons de l’attraper
Associez une denylist déterministe à un juge sémantique pour une défense en profondeur.Littéral — keyword / regex (latence nulle)
Littéral — keyword / regex (latence nulle)
Une règle
keyword est une correspondance de sous-chaîne insensible à la
casse ; une règle regex est un motif RE2 (temps linéaire, sans
rétroréférences). Les deux s’exécutent sur le chemin chaud sans appel
réseau — idéales pour une liste de mots bannis connue, une denylist de
concurrents, ou un motif structurel (un token de chat-template fuité, une
phrase définitive « vous avez droit à des dommages »).Sémantique — llm_judge (attrape ce qu'aucun regex ne peut)
Sémantique — llm_judge (attrape ce qu'aucun regex ne peut)
Une règle
llm_judge évalue la réponse contre un barème que vous rédigez
en utilisant un modèle dans votre espace de travail — toxicité, ton
hors-marque, conseil hors-politique qu’aucune liste littérale ne capture.
Elle porte un judge_timeout_ms, est fail-open par défaut (une erreur
de juge est journalisée et la réponse continue), et ses tokens sont
facturés comme une sous-ligne de juge. Voir la
référence du juge LLM.3. Un exemple concret — bloquer le toxique, masquer le hors-marque
Un seul guardrail côté sortie qui bloque une réponse toxique sémantiquement et masque les termes de marque bannis dans tout ce qui reste :/console/guardrails → New
guardrail, ajoutez les deux règles, et attachez-le à une clé depuis
l’éditeur Token (la liaison vit sur la clé comme guardrail_id). La
configuration s’exécute sur votre session de console, pas sur votre clé de
relais ; seul l’appel /v1/* ci-dessous utilise une clé sk-orca-....
guardrail_blocked. Si elle est propre mais mentionne un terme
banni, ce segment se rend sous forme d’une redaction typée et le reste passe.
4. Partir d’un preset
La bibliothèque de templates New guardrail livre des points de départ prêts à l’emploi dans les catégories Safety, Brand, et Compliance. Un preset est une graine — appliquez-le, puis éditez librement.| Catégorie | Preset côté sortie d’où partir |
|---|---|
| Safety | System-Prompt Leak Detector (output), Strong System Prompt Leak — signale/bloque les réponses qui renvoient en écho des tokens de system-prompt ou de chat-template. |
| Brand | Profanity Filter (mask) — s’exécute sur les deux surfaces et masque les mots de la denylist dans la réponse. (Les presets de style block Profanity / Brand Safety et Competitor Mentions sont des graines côté entrée ; reciblez une copie vers output si vous voulez qu’ils filtrent la réponse.) |
| Compliance | Legal Disclaimer Enforce — signale les réponses donnant un conseil juridique/financier définitif pour revue par l’équipe. |
5. Streaming : la mise en garde qui compte
Le fait qu’une règle de sortie soit appliquée en direct dépend de l’action et du fait que vous streamiez ou non.| Action | Non-streaming | Streaming |
|---|---|---|
block | Réponse retenue ; HTTP 400 guardrail_blocked | Le scanner coupe le flux en vol et émet un message de remplacement — le contenu bloqué n’atteint jamais le client |
mask | Correspondance redactée dans le texte renvoyé | Non-streaming uniquement aujourd’hui ; la réécriture de flux en bande est sur la feuille de route |
flag | Enregistre une correspondance, ne change rien | Enregistre une correspondance, ne change rien |
6. Forme de politique recommandée
Superposez trois règles dans un guardrail
-
keyword/regexàoutput— capture à latence nulle pour les termes bannis connus et les motifs structurels. -
llm_judgeàoutput— capture sémantique toxicité / hors-marque / hors-politique pour ce que la liste littérale manque. -
Déployez via
flagd’abord, surveillez le flux Matches, puis promouvez versblockune fois le taux de faux positifs acceptable. Voir Modes d’application.
Référence des Guardrails
Référence complète des types de règles, actions, surfaces, du juge LLM,
des presets, du harnais d’éval, et du flux Matches.
Exfiltration de données
Empêcher les données sensibles de sortir dans une réponse de modèle ou un
appel d’outil.
