Envoyer des prompts chargés de noms, d'adresses ou d'IBAN à une API de LLM est une erreur de débutant. Si le modèle tourne sur un serveur distant, vos données privées quittent votre réseau.
La solution est d'utiliser une couche de nettoyage locale. C'est ce que propose Redac.
Le concept
Redac est une passerelle de filtrage. Le texte est analysé en local, les informations identifiables sont remplacées par des tags (<PERSON>, <IBAN>, <LOCATION>) et seule la version anonymisée est transmise au LLM.
L'IA garde le contexte du document mais ne voit jamais l'identité réelle des personnes ou des entreprises citées.
Sous le capot
L'outil utilise Microsoft Presidio avec des modèles spaCy (Large). Pour le contexte français, des regex spécifiques gèrent les données critiques.
- Identifiants : SIRET, NIR (Sécurité Sociale).
- Banque : IBAN.
- Localisation : Adresses postales.
Setup avec Docker
Le projet est entièrement conteneurisé pour éviter de polluer l'OS hôte avec des dépendances Python.
git clone https://github.com/gni/redac
cd redac
docker compose up --build
L'API FastAPI répond sur le port 8000 et un dashboard React est dispo sur le port 5173.
Filtrage intelligent
Un filtrage trop agressif peut rendre le texte illisible pour l'IA. Redac permet de définir des mots protégés (titres de postes, noms de projets internes) pour conserver la logique métier.
L'IA sait qu'elle parle à un "Gérant" ou un "Architecte" sans connaître son nom.
Exemple de sortie
Requête brute.
"Mon nom est Jean Dupont, contactez-moi au 06 12 34 56 78."
Après passage dans Redac.
"Mon nom est <PERSON>, contactez-moi au <PHONE_NUMBER>."
C'est simple, prévisible et ça tourne sur votre machine.
Dépôt GitHub. github.com/gni/redac