Passer au contenu principal
Vous avez une liste de termes qui ne doivent jamais atteindre un modèle ni en revenir — le nom d’un concurrent, un nom de code interne, une insulte interdite, un produit pas encore annoncé. Le contrôle le plus rapide pour ça est une liste de mots interdits keyword : une liste de termes littéraux que la passerelle scanne à chaque appel puis bloque, masque ou signale. C’est une page d’atterrissage ciblée sur le cas d’usage des termes interdits. Pour le moteur de guardrail complet — chaque type de règle, champ et route — voir la référence Guardrails.

1. Le cas d’usage du filtre de mots sensibles pour IA

Une règle keyword est la règle la plus simple du moteur : vous lui donnez une liste de termes, et la passerelle fait correspondre l’un d’eux contre le texte à une étape. La correspondance est de sous-chaîne insensible à la casseBadWord, badword et BADWORD correspondent tous, et le terme correspond même quand il est intégré dans un mot plus long (donc class correspond aussi à classic). Chaque terme est traité comme une chaîne littérale, pas un motif ; vous n’échappez pas les métacaractères regex. Enregistrez la règle une fois dans la console, attachez le guardrail à n’importe quelle clé API (ou faites-en le défaut de l’espace de travail), et chaque appel sur cette clé est filtré sans changement de SDK et sans redéploiement. La politique vit dans la passerelle, pas votre application — votre application continue d’appeler /v1/chat/completions exactement comme avant.
Recourez à une règle keyword quand votre liste de mots interdits est un ensemble fini de termes littéraux. Quand vous avez besoin de wildcards, de limites de mots ou de structure (un format de SKU, une forme de numéro de commande), utilisez plutôt un détecteur regex.

2. Rédiger la règle dans la console

Chaque étape ici est une action de console sous votre propre session. Créer et modifier des guardrails nécessite Developer+ dans l’espace de travail. Seul l’appel /v1/* final utilise une clé de relais sk-orca-....
1

Créer un guardrail

Dans la console, ouvrez Guardrails et cliquez sur New guardrail. Nommez-le (≤ 64 caractères), par exemple banned-terms.
2

Ajouter une règle keyword

Ajoutez une règle :
  • Type : Keyword denylist (keyword)
  • Étape : Both (requête et réponse)
  • Action : Block
  • Keywords : vos termes interdits, un par ligne
Enregistrez.
3

La tester

Ouvrez l’onglet Test, collez un échantillon qui contient un terme interdit, choisissez une étape, et exécutez la politique localement — aucun appel en amont, aucun quota (voir §5).
4

Attacher une clé

Modifiez une clé API et choisissez banned-terms dans la liste déroulante Guardrail (définit guardrail_id sur la clé), ou marquez le guardrail comme défaut de l’espace de travail. Voir Attacher à une clé et Défaut de compte.
Le JSON de la règle est exactement ce à quoi vous vous attendriez :
{
  "type": "keyword",
  "stage": "both",
  "action": "block",
  "keywords": ["project-orca", "competitor-name", "unannounced-sku"]
}

3. Choisir l’action

Une règle keyword choisit une action par règle :
Toute correspondance rejette la requête avec une HTTP 400 guardrail_blocked. Une requête bloquée ne coûte aucun quota — un block à l’étape input se déclenche avant la mesure ; un block à l’étape output rembourse le quota pré-consommé — et elle est marquée skip-retry. Utilisez-le pour les termes qui ne doivent jamais passer dans aucune direction. Voir l’erreur guardrail_blocked.
Chaque correspondance est remplacée en place par une balise de redaction et la requête continue avec le texte assaini — le modèle en amont ne voit jamais le terme original. Voir Actions.
Enregistre une correspondance et ne change rien au trafic. Utilisez-le pour mesurer à quelle fréquence un terme apparaît avant de basculer vers l’application.
Encadre le texte correspondant dans des délimiteurs (par exemple ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) afin que le modèle le traite comme des données, pas des instructions — une défense d’injection de prompt à l’étape input. Le texte atteint toujours le modèle, juste clôturé. Voir Actions.
L’étape compte. input scanne la requête de l’appelant, output scanne la réponse du modèle, both scanne chaque côté indépendamment. Un terme interdit que vos utilisateurs tapent et un qu’un modèle pourrait émettre sont des problèmes différents — choisissez la ou les étapes qui conviennent. Voir Règles à l’étape input et Règles à l’étape output.

4. Couverture du streaming

L’action que vous choisissez interagit avec le fait que la réponse soit streamée ou non :
ActionNon-streamingStreaming
block (output)AppliquéAppliqué — le scanner coupe le flux
mask (output)AppliquéPas encore — décision de block honorée, texte masqué non transmis (feuille de route)
Les règles à l’étape input s’exécutent avant l’appel en amont, donc elles ne sont pas affectées par le streaming — un mask d’entrée assainit la requête que la réponse soit streamée ou non. Un block de terme interdit obtient une couverture complète dans les deux cas. Un mask de sortie, en revanche, ne redacte que sur les réponses non-streaming aujourd’hui : sur une réponse streaming, le scanner agit toujours sur la décision de block, mais la réécriture in-band du texte streamé est sur la feuille de route, pas active. Voir Couverture du streaming.

5. Tester avant d’attacher

Prouvez que la règle fait ce que vous attendez avant qu’une clé ne pointe vers elle. Ouvrez l’onglet Test à l’intérieur de l’éditeur, collez un échantillon, choisissez l’étape, et lancez :
Tell me about Project-Orca and our competitor-name
Le sandbox évalue la politique actuelle localement et renvoie le verdict — rien n’est envoyé en amont, rien n’est mesuré. Avec une action block, l’échantillon est rejeté ; avec mask, le texte rendu revient avec chaque terme redacté. Pour une grille A/B contre un corpus — afin de confirmer qu’une liste de mots interdits attrape ce qu’elle devrait sans signaler le trafic bénin — le harnais d’évaluation vit dans l’onglet d’à côté.

6. Envoyer une requête

En utilisant une clé liée à banned-terms, appelez OrcaRouter exactement comme avant — aucun nouvel en-tête, aucun changement de SDK :
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Summarize Project-Orca for me"}
    ]
  }'
Avec une action block, l’appel est rejeté avec une HTTP 400 guardrail_blocked avant qu’il n’atteigne jamais le modèle. Basculez l’action sur mask et le terme est plutôt redacté en place avant la transmission.

7. Voir ce qui s’est déclenché

Chaque règle qui se déclenche enregistre une correspondance — type de règle, action, étape et une chaîne de détail (pour les règles keyword, combien de termes ont correspondu) — qui apparaît dans le flux Matches de l’espace de travail.
Le terme correspondant lui-même n’est enregistré que lorsque Log raw content est activé, ce qui est désactivé par défaut — la posture conservatrice en matière de confidentialité. Avec lui désactivé, vous voyez toujours *qu’*une règle keyword s’est déclenchée et à quelle fréquence, juste pas le terme littéral. Activez-le par guardrail quand vous avez besoin de la sous-chaîne pour le triage ; le réglage n’est pas rétroactif. Voir Flux des correspondances et Journalisation & confidentialité.
Si un terme bénin continue de correspondre (une entrée de liste de mots interdits qui est une sous-chaîne d’un mot courant), marquez-le comme faux positif depuis le flux Matches et resserrez l’entrée. Voir Ajuster les faux positifs.

8. Où aller ensuite

Détecteurs regex

Faites correspondre des motifs structurés — SKUs, numéros de commande, formats — quand une liste de mots interdits littérale ne suffit pas.

Brand safety

Presets de grossièretés, de mentions de concurrents et de sécurité enfance construits sur des règles keyword.

Actions

En quoi block, mask et flag diffèrent et quand utiliser chacun.

Référence Guardrails

Le moteur complet — chaque type de règle, champ et route.
Une liste de mots interdits keyword gouverne le contenu. Pour gouverner les appels d’outils d’un agent — refuser les actions destructrices, redacter les arguments d’appels d’outils, exiger une approbation — utilisez le Firewall. Pour les politiques floues qu’aucune liste littérale ne peut exprimer (toxicité, hors-sujet, intention d’injection), une règle llm_judge exécute une vérification sémantique contre un modèle de l’espace de travail.