Aller au contenu
100% exécutable hors-ligne
Rechercher…Réserver un auditAudit

É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"]

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

Prêt à sécuriser vos données avec l'IA ?

Ne laissez pas vos documents confidentiels sur des serveurs publics. Réservez un échange de 30 minutes avec nos experts pour évaluer la faisabilité d'un LLM Souverain dans votre infrastructure.

Planifier un Audit Gratuit
Projet IA Souveraine ?Audit Gratuit ➔