Évaluation de la qualité d’un graphe de connaissance avec un pipeline RAG
Contexte et objectifs
Nous avons implémenté un pipeline Retrieval-Augmented Generation (RAG) avec LangChain et en local afin d’enrichir les prompts d’un LLM à partir d’un Graphe de Connaissance pour réduire les hallucinations et améliorer la précision factuelle.
Stack technique
Pour ce faire on a utilisé:
- LangChain & LangGraph pour l’orchestration du pipeline et la recherche a similarité vectorielle
- FAISS +
all-mpnet-base-v2
pour l’indexation vectorielle des triplets
- MongoDB pour la gestion initiale des données
- Ollama (Mistral, Llama3) pour l’inférence LLM en local
- Cross-Encoder MS MARCO pour le reranking
- RoBERTa NLI pour le scoring d’inférence logique

Pipeline RAG
- Recherche par similarité vectorielle
- Encodage des triplets
- Récupération des k voisins les plus proches (FAISS)
- Reranking : Cross-Encoder MS MARCO
- Reformulation : Conversion des triplets validés en phrases naturelles
- NLI : Calcul de la probabilité d’inférence (RoBERTa)
- Génération : Verdict “vrai/faux” par LLM (temperature = 0)
Points Forts
- Pertinence : Décision d’utiliser ou non le contexte suivant le score d’inférence NLI
- Hallucinations : Réduction de l’hallucination grace au contexte envoyé
- Stabilité : Un gain de performance sur des milliers de triplets testés (dataset à 5000 triplets)
Point Faible
- Complexité : Executer ce projet à un coût considérable suivant le nombre de documents qu’on cherche à utiliser comme contexte.
Retour d’expérience no-code
Lors de l’événement IA Innovation, j’ai pu accéder à leur tool AI-builder pour créer différents pipelines de RAG et évaluer leur efficacité sans aucune ligne de code à l’aide de Graphene

Auteur: Ilyes Khedhiri