Évaluation & Ancrage Strict Anti-Hallucination (`is_grounded`)
L’hallucination est le principal frein au déploiement de l’IA générative dans les métiers réglementés (droit, médecine, finance).
Ce module explique le fonctionnement des garde-fous d’ancrage strict (Strict Citation Guardrails) dans Yevi Core v1.0 (Licence MIT) et comment évaluer la fiabilité des réponses générées.
1. Mécanisme de Citation et Vérification d’Ancrage
Section intitulée « 1. Mécanisme de Citation et Vérification d’Ancrage »graph TD Prompt["System Prompt + Chunks de Contexte [doc#0], [doc#1]"] --> LLM["Inférence LLM (Ollama / vLLM)"] LLM --> RawOutput["Réponse Brute avec Balises de Citations"] RawOutput --> RegexParser["Parsing Regex des Balises [[doc#idx]]"] RegexParser --> Check["Vérification des Chunks Cités vs Récupérés"] Check -->|Au moins 1 citation valide| GroundedTrue["is_grounded = True (Réponse Validée)"] Check -->|Aucune citation vérifiée| GroundedFalse["is_grounded = False + Avertissement Opposable"]2. Exemple de Prompt Système Utilisé par Yevi
Section intitulée « 2. Exemple de Prompt Système Utilisé par Yevi »Le prompt injecte des consignes strictes pour forcer l’usage des balises d’ancrage :
Vous êtes Yevi, un assistant RAG souverain et rigoureux.Répondez à la question UNIQUEMENT à partir des passages de contexte fournis ci-dessous.Chaque affirmation doit impérativement être suivie de sa citation exacte sous le format [doc_id#chunk_index].Si le contexte ne contient pas l'information nécessaire, répondez : "Aucune information pertinente n'a été trouvée dans les documents."
Contexte :[contrat_01#0] Article 4 : La durée de confidentialité est fixée à 5 ans.[contrat_01#1] Article 5 : Les litiges relèvent du Tribunal de Commerce de Paris.
Question : Quelle est la durée de confidentialité ?3. Automatisation des Tests d’Évaluation avec Pytest
Section intitulée « 3. Automatisation des Tests d’Évaluation avec Pytest »Dans la suite de tests tests/test_pipeline.py, l’ancrage est vérifié automatiquement avant toute mise en production :
def test_rag_pipeline_strict_citations(): # Test d'ancrage strict sur corpus de démonstration pipeline = RagPipeline(store=store, llm=DummyProvider(), strict_citations=True) ans = pipeline.answer("Quelle est la durée de confidentialité ?", domain="legal")
assert ans.is_grounded is True assert len(ans.cited_chunks) > 0🛠️ Passer à l’Action
Section intitulée « 🛠️ Passer à l’Action »Audit gratuit
Réservez votre audit de souveraineté
30 minutes pour évaluer votre exposition aux fuites de données vers des API externes.
Réserver mon audit gratuit