Quarantaine RAG
L'écran Quarantaine RAG permet à un gardien des données d'examiner les documents que le contrôle d'empoisonnement
a isolés dans une base de connaissances, de les libérer ou de les rejeter, et de suivre le lignage amont et aval d'un
jeu de données. Chemin du portail : /data/quarantine. Les gardiens des données, les responsables sécurité et les
administrateurs du tenant l'utilisent.
Ce que montre l'écran
Le titre de la page est Quarantaine RAG et lignage. Deux onglets :
- Quarantaine : la section Base de connaissances avec un champ d'identifiant et le bouton Appliquer (aide
« Rôle de gardien des données : administrateur du locataire ou responsable sécurité. »). Une fois l'identifiant
appliqué, la table Documents en quarantaine affiche Identifiant, Titre, Statut, Classification,
Créé (au plus 200 documents, les plus anciens d'abord). Un clic sur une ligne ouvre un panneau avec la fiche du
document, dont le résultat du contrôle
quarantine. Sans document, la table indique « Aucun document en quarantaine ». - Lignage d'un jeu de données : un champ Jeu de données avec Appliquer ; la réponse (
dataset,produced_by,consumed_by,upstream,downstream) s'affiche en JSON, sur deux niveaux.
Actions
| Bouton ou action | Ce qu'il fait | Appel API | Rôles |
|---|---|---|---|
| Appliquer (Quarantaine) | Liste les documents en quarantaine de la base | GET /v1/knowledge-bases/{kb_id}/quarantine | tenant_admin, security_officer, data_steward |
| Libérer (menu de ligne) | Ouvre une boîte de dialogue avec Raison, puis rend les extraits de nouveau interrogeables (statut active) | POST /v1/knowledge-bases/{kb_id}/documents/{doc_id}/review | tenant_admin, security_officer, data_steward |
| Rejeter (menu de ligne) | Ouvre une boîte de dialogue avec Raison, puis pose le statut rejected ; les extraits restent hors de la recherche | POST /v1/knowledge-bases/{kb_id}/documents/{doc_id}/review | tenant_admin, security_officer, data_steward |
| Appliquer (Lignage d'un jeu de données) | Lit le jeu de données et son graphe | GET /v1/lineage/datasets/{dataset_id} | tout utilisateur du tenant |
Rôles
Libérer et Rejeter sont masqués pour les utilisateurs qui n'ont aucun des rôles de ROLES.dataStewards dans
portal/src/lib/kit.ts : tenant_admin, security_officer, data_steward. Le Control Plane applique la même liste
(REVIEW_ROLES dans services/control-plane/src/eai/domains/knowledge/__init__.py) à la liste et à l'examen, et
exige aussi la relation viewer sur la base. Chaque décision passe par la décision de politique
knowledge.document.review, est enregistrée avec sa raison et auditée en knowledge.document.release ou
knowledge.document.reject.
Tâches courantes
Examiner un document signalé
-
Ouvrir la file. Les documents au contenu suspect attendent ici au lieu d'être interrogés. Ouvrez Quarantaine, collez l'identifiant de la base, puis cliquez sur Appliquer.
Résultat attendu : la table Documents en quarantaine.
En cas d'échec :
forbiddensignifie que votre rôle n'est pas un rôle de gardien des données. -
Lire le contrôle. Cliquez sur la ligne.
Résultat attendu : le panneau affiche le bloc
quarantineavec la raison de l'isolement.En cas d'échec : si le bloc est vide, lisez le document dans le système source avant de décider.
-
Décider. Ouvrez le menu de la ligne, choisissez Libérer ou Rejeter, écrivez une Raison, puis confirmez avec le bouton de la boîte de dialogue.
Résultat attendu : le message « Terminé » et le document quitte la file.
En cas d'échec :
document_not_quarantinedsignifie qu'un autre gardien a déjà décidé.
Suivre un jeu de données
-
Lire son lignage. Ouvrez Lignage d'un jeu de données, saisissez l'identifiant du jeu de données (avec ou sans le préfixe
dataset:), puis Appliquer.Résultat attendu : le JSON avec les producteurs et les consommateurs.
En cas d'échec :
not_foundsignifie qu'aucun jeu de données n'a cet identifiant.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
forbidden (403) avec required_roles | Vous n'êtes pas tenant_admin, security_officer ou data_steward | Demandez le rôle data_steward |
| Libérer et Rejeter absents du menu | Vos rôles ne sont pas dans ROLES.dataStewards | Même correction |
not_found (404) avec knowledge_base | Mauvais identifiant de base | Copiez l'identifiant depuis Bases de connaissances |
document_not_quarantined (409) | Le document n'est plus en quarantaine | Actualisez la table |
not_found (404) avec dataset | Identifiant de jeu de données inconnu | Trouvez le nœud dans Lignage |
vector_store_unavailable (503) | La base vectorielle ne répond pas pendant la décision | Réessayez une fois la base vectorielle revenue |