---
title: Guardrails
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'
import { Video } from '@/components/ui/video'

Le bloc Guardrails valide et protège vos flux de travail IA en vérifiant le contenu selon plusieurs types de validation. Assurez la qualité des données, prévenez les hallucinations, détectez les PII et imposez des exigences de format avant que le contenu ne circule dans votre flux de travail.

<div className="flex justify-center">
  <Image
    src="/static/blocks/guardrails.png"
    alt="Bloc de garde-fous"
    width={500}
    height={400}
    className="my-6"
  />
</div>

## Types de validation

### Validation JSON

Vérifie que le contenu est correctement formaté en JSON. Parfait pour s'assurer que les sorties structurées des LLM peuvent être analysées en toute sécurité.

**Cas d'utilisation :**
- Valider les réponses JSON des blocs Agent avant l'analyse
- S'assurer que les charges utiles API sont correctement formatées
- Vérifier l'intégrité des données structurées

**Sortie :**
- `passed` : `true` si JSON valide, `false` sinon
- `error` : Message d'erreur si la validation échoue (ex. : "JSON invalide : Token inattendu...")

### Validation par expression régulière

Vérifie si le contenu correspond à un modèle d'expression régulière spécifié.

**Cas d'utilisation :**
- Valider des adresses e-mail
- Vérifier les formats de numéros de téléphone
- Vérifier les URL ou identifiants personnalisés
- Imposer des modèles de texte spécifiques

**Configuration :**
- **Modèle Regex** : L'expression régulière à faire correspondre (ex. : `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` pour les e-mails)

**Sortie :**
- `passed` : `true` si le contenu correspond au modèle, `false` sinon
- `error` : Message d'erreur si la validation échoue

### Détection d'hallucination

Utilise la génération augmentée par récupération (RAG) avec notation LLM pour détecter quand le contenu généré par l'IA contredit ou n'est pas fondé sur votre base de connaissances.

**Comment ça fonctionne :**
1. Interroge votre base de connaissances pour obtenir un contexte pertinent
2. Envoie à la fois la sortie de l'IA et le contexte récupéré à un LLM
3. Le LLM attribue un score de confiance (échelle de 0 à 10)
   - **0** = Hallucination complète (totalement non fondée)
   - **10** = Entièrement fondé (complètement soutenu par la base de connaissances)
4. La validation réussit si le score ≥ seuil (par défaut : 3)

**Configuration :**
- **Base de connaissances** : Sélectionnez parmi vos bases de connaissances existantes
- **Modèle** : Choisissez le LLM pour l'évaluation (nécessite un raisonnement solide - GPT-4o, Claude 3.7 Sonnet recommandés)
- **Clé API** : Authentification pour le fournisseur LLM sélectionné (masquée automatiquement pour les modèles hébergés/Ollama ou compatibles VLLM)
- **Seuil de confiance** : Score minimum pour valider (0-10, par défaut : 3)
- **Top K** (Avancé) : Nombre de fragments de base de connaissances à récupérer (par défaut : 10)

**Sortie :**
- `passed` : `true` si le score de confiance ≥ seuil
- `score` : Score de confiance (0-10)
- `reasoning` : Explication du LLM pour le score
- `error` : Message d'erreur si la validation échoue

**Cas d'utilisation :**
- Valider les réponses de l'agent par rapport à la documentation
- Garantir que les réponses du service client sont factuellement exactes
- Vérifier que le contenu généré correspond au matériel source
- Contrôle qualité pour les applications RAG

### Détection des PII

Détecte les informations personnelles identifiables à l'aide de Microsoft Presidio. Prend en charge plus de 40 types d'entités dans plusieurs pays et langues.

<div className="flex justify-center">
  <Image
    src="/static/blocks/guardrails-2.png"
    alt="Configuration de détection PII"
    width={700}
    height={450}
    className="my-6"
  />
</div>

**Comment ça fonctionne :**
1. Transmettre le contenu à valider (par ex., `<agent1.content>`)
2. Sélectionner les types de PII à détecter à l'aide du sélecteur modal
3. Choisir le mode de détection (Détecter ou Masquer)
4. Le contenu est analysé pour détecter les entités PII correspondantes
5. Renvoie les résultats de détection et éventuellement le texte masqué

<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
  <Video src="guardrails.mp4" width={500} height={350} />
</div>

**Configuration :**
- **Types de PII à détecter** : Sélection parmi des catégories groupées via le sélecteur modal
  - **Commun** : Nom de personne, e-mail, téléphone, carte de crédit, adresse IP, etc.
  - **USA** : SSN, permis de conduire, passeport, etc.
  - **Royaume-Uni** : Numéro NHS, numéro d'assurance nationale
  - **Espagne** : NIF, NIE, CIF
  - **Italie** : Code fiscal, permis de conduire, code TVA
  - **Pologne** : PESEL, NIP, REGON
  - **Singapour** : NRIC/FIN, UEN
  - **Australie** : ABN, ACN, TFN, Medicare
  - **Inde** : Aadhaar, PAN, passeport, numéro d'électeur
- **Mode** : 
  - **Détecter** : Identifier uniquement les PII (par défaut)
  - **Masquer** : Remplacer les PII détectées par des valeurs masquées
- **Langue** : Langue de détection (par défaut : anglais)

**Sortie :**
- `passed` : `false` si des types de PII sélectionnés sont détectés
- `detectedEntities` : Tableau des PII détectées avec type, emplacement et confiance
- `maskedText` : Contenu avec PII masquées (uniquement si mode = "Mask")
- `error` : Message d'erreur si la validation échoue

**Cas d'utilisation :**
- Bloquer le contenu contenant des informations personnelles sensibles
- Masquer les PII avant de journaliser ou stocker des données
- Conformité avec le RGPD et autres réglementations sur la confidentialité
- Assainir les entrées utilisateur avant traitement

## Configuration

### Contenu à valider

Le contenu d'entrée à valider. Celui-ci provient généralement de :
- Sorties de blocs d'agent : `<agent.content>`
- Résultats de blocs de fonction : `<function.output>`
- Réponses d'API : `<api.output>`
- Toute autre sortie de bloc

### Type de validation

Choisissez parmi quatre types de validation :
- **JSON valide** : vérifier si le contenu est au format JSON correctement structuré
- **Correspondance Regex** : vérifier si le contenu correspond à un modèle d'expression régulière
- **Vérification d'hallucination** : valider par rapport à une base de connaissances avec notation LLM
- **Détection de PII** : détecter et éventuellement masquer les informations personnelles identifiables

## Sorties

Tous les types de validation renvoient :

- **`<guardrails.passed>`** : booléen indiquant si la validation a réussi
- **`<guardrails.validationType>`** : le type de validation effectuée
- **`<guardrails.input>`** : l'entrée originale qui a été validée
- **`<guardrails.error>`** : message d'erreur si la validation a échoué (facultatif)

Sorties supplémentaires par type :

**Vérification d'hallucination :**
- **`<guardrails.score>`** : score de confiance (0-10)
- **`<guardrails.reasoning>`** : explication du LLM

**Détection de PII :**
- **`<guardrails.detectedEntities>`** : tableau des entités PII détectées
- **`<guardrails.maskedText>`** : contenu avec PII masqué (si mode = "Mask")

## Exemples de cas d'utilisation

**Valider le JSON avant l'analyse** - S'assurer que la sortie de l'agent est un JSON valide

```
Agent (Generate) → Guardrails (Validate) → Condition (Check passed) → Function (Parse)
```

**Prévenir les hallucinations** - Valider les réponses du support client par rapport à la base de connaissances

```
Agent (Response) → Guardrails (Check KB) → Condition (Score ≥ 3) → Send or Flag
```

**Bloquer les PII dans les entrées utilisateur** - Assainir le contenu soumis par l'utilisateur

```
Input → Guardrails (Detect PII) → Condition (No PII) → Process or Reject
```

## Bonnes pratiques

- **Chaîner avec des blocs de condition** : utiliser `<guardrails.passed>` pour ramifier la logique du flux de travail en fonction des résultats de validation
- **Utiliser la validation JSON avant l'analyse** : toujours valider la structure JSON avant de tenter d'analyser les sorties LLM
- **Choisir les types de PII appropriés** : sélectionner uniquement les types d'entités PII pertinents pour votre cas d'utilisation pour de meilleures performances
- **Définir des seuils de confiance raisonnables** : pour la détection d'hallucination, ajuster le seuil en fonction de vos exigences de précision (plus élevé = plus strict)
- **Utiliser des modèles performants pour la détection d'hallucination** : GPT-4o ou Claude 3.7 Sonnet fournissent une notation de confiance plus précise
- **Masquer les PII pour la journalisation** : utiliser le mode "Mask" lorsque vous devez journaliser ou stocker du contenu qui peut contenir des PII
- **Tester les modèles regex** : valider soigneusement vos modèles d'expressions régulières avant de les déployer en production
- **Surveiller les échecs de validation** : suivre les messages `<guardrails.error>` pour identifier les problèmes de validation courants

<Callout type="info">
  La validation des guardrails se produit de manière synchrone dans votre flux de travail. Pour la détection d'hallucinations, choisissez des modèles plus rapides (comme GPT-4o-mini) si la latence est critique.
</Callout>
