RAG en entreprise : architecture, droits d’accès et évaluation
Concevoir un RAG traçable : ingestion, versions, autorisations, recherche, contexte et citations. Un exemple cyber et un démonstrateur local reproductible.
Un RAG, ou retrieval-augmented generation, cherche des éléments dans des sources externes et les fournit à un modèle pour préparer une réponse. Dans un service d’entreprise, la difficulté consiste à retrouver les éléments applicables à une personne, à une date et à une question. Une réponse fluide peut citer une procédure réelle qui concerne pourtant un autre client ou une version retirée.
Le travail fondateur de Lewis et ses coauteurs associe un générateur à une mémoire documentaire externe. Le terme recouvre aujourd’hui des implémentations variées. Nous proposons ici un circuit de contrôle pour un assistant documentaire cyber, avec des documents fictifs et un programme vérifiable.
Définir le contrat avant l’index
Prenons un MSP qui souhaite interroger ses procédures d’intervention. La question « quelle fenêtre de maintenance appliquer au VPN ? » reste incomplète sans organisation, actif et date. Le système doit pouvoir demander une précision ou s’abstenir. Un index ne peut pas résoudre une identité que l’application n’a pas établie.
Le contrat d’une réponse doit préciser les sources autorisées, la fraîcheur attendue, les preuves à citer et les actions possibles. Un assistant de consultation n’a pas besoin de modifier la configuration du VPN. L’accès à l’information et l’autorisation d’agir relèvent de décisions distinctes.
Une chaîne dont les étapes restent observables
source approuvée -> extraction -> unités documentaires + métadonnées
identité serveur -> périmètre autorisé -> recherche -> reclassement
preuves sélectionnées -> contexte -> génération -> contrôle des références
À l’ingestion, conservez l’identifiant de la source, sa révision, son propriétaire et ses droits. Le découpage d’un document doit préserver ces attributs. La création d’un embedding n’accorde aucun droit supplémentaire sur le texte qu’il représente.
À la consultation, calculez le périmètre avec l’identité fournie par l’application. Les passages interdits doivent être écartés avant leur transmission à un modèle ou à un service de reclassement externe. Un filtrage tardif de la réponse ne retire pas des données déjà exposées à ce service.
Versions, suppressions et caches
Une procédure retirée peut survivre dans un index, un résumé ou un cache. Il faut donc relier ces dérivés à leur origine. Lorsqu’une révision remplace l’ancienne, le comportement attendu doit être explicite : réponse sur la version courante, recherche historique autorisée ou abstention.
Pour un cache de réponses, une clé limitée au texte de la question est insuffisante dans un service partagé. Notre proposition est d’intégrer le périmètre d’accès, la révision documentaire et les paramètres de recherche qui changent la réponse. Une révocation doit invalider les résultats concernés ; un ancien droit ne devient pas permanent parce qu’une réponse a déjà été calculée.
Reproduire le cas sans appeler de modèle
Le démonstrateur téléchargeable contient un programme Python, un corpus fictif et dix cas attendus. Décompressez les fichiers dans un même dossier puis lancez :
python rag_demo.py
Le programme filtre les droits et la validité avant un classement lexical simple. Il distingue une procédure courante de sa révision remplacée, sépare deux organisations et refuse un document sans métadonnées d’accès. La sortie enregistrée donne les identifiants attendus et obtenus ainsi que l’empreinte du corpus.
Ce test porte sur ces règles déterministes. Il ne mesure ni la qualité d’un moteur vectoriel, ni celle d’une réponse générée, ni la résistance d’un modèle à une injection. L’identité inscrite dans le jeu d’exemple ne constitue pas un mécanisme d’authentification.
Séparer les mesures qui expliquent une erreur
| Étape | Question de contrôle | Observation à conserver |
|---|---|---|
| Droits | Un passage interdit a-t-il été transmis ? | Décision d’accès et identité de la source |
| Recherche | Le passage attendu figure-t-il parmi les candidats ? | Identifiants et rangs |
| Contexte | La bonne révision arrive-t-elle au modèle ? | Références et version du contexte |
| Réponse | Chaque affirmation est-elle soutenue ? | Affirmation, citation et passage |
| Abstention | Le service reconnaît-il une information manquante ? | Motif et prochaine question utile |
Une citation vérifiable associe chaque affirmation au passage qui la soutient. Pour une procédure cyber, conserver la date et les conditions d’application évite qu’une instruction historique soit présentée comme actuelle.
Poursuivez avec la recherche hybride et le découpage, puis les tests de sécurité RAG. Le dossier IA et cyber rassemble les huit guides et leurs références.
#rootzero
Une question sur votre exposition ?
Écrivez-nous. Une personne de l’équipe technique vous répond, sources à l’appui.