RAG avancé : Recherche hybride et reranking intelligent
Les systèmes RAG (Retrieval-Augmented Generation) révolutionnent la façon dont les LLMs accèdent à l'information. Mais tous les RAG ne se valent pas. Découvrez comment construire un système de haute précision avec recherche hybride et reranking.
Le problème des RAG simples
Un RAG basique utilise uniquement la recherche vectorielle (embeddings). Résultat ? Des réponses approximatives et des documents non pertinents.
Limites de la recherche vectorielle seule :
- Perte des termes exacts : Cherche le sens global, rate les noms propres
- Faux positifs sémantiques : Documents similaires mais hors sujet
- Pas de boost par pertinence : Tous les documents ont le même poids
Exemple concret : Question "Quel est le prix du module d'authentification ?"
- Recherche vectorielle pure : Retourne des docs sur la sécurité, les connexions, etc.
- Ce qu'on veut : Le document exact avec "module authentification" ET le prix
La solution : Recherche hybride
La recherche hybride combine deux approches complémentaires :
1. Recherche par mots-clés (BM25)
- Avantages : Trouve les termes exacts, précision chirurgicale
- Usage : Noms propres, termes techniques, données chiffrées
- Algorithme : BM25 (Best Matching 25), standard de l'industrie
2. Recherche vectorielle (Dense)
- Avantages : Comprend le sens, trouve les synonymes
- Usage : Questions conceptuelles, reformulations
- Modèle : text-embedding-3-small (OpenAI) ou alternatives
Architecture du système
Voici comment les deux recherches collaborent :
Étape 1 : Recherches parallèles
Quand l'utilisateur pose une question, le système lance SIMULTANÉMENT :
- Recherche BM25 sur les mots-clés → Résultats A (10 documents)
- Recherche vectorielle sur le sens → Résultats B (10 documents)
Étape 2 : Fusion des résultats
Les deux listes sont combinées avec suppression des doublons.
Total : 15-20 documents candidats
Étape 3 : Reranking intelligent
Un modèle spécialisé (Reranker) note chaque document de 0 à 1.
Il juge la pertinence RÉELLE document par document.
Étape 4 : Filtrage final
Seuls les Top 5 documents avec le meilleur score sont envoyés au LLM.
Étape 5 : Génération de réponse
Le LLM reçoit un contexte ultra-pertinent et génère une réponse précise.
Le reranking : L'arme secrète
Le reranker est un modèle de machine learning entraîné spécifiquement pour juger la pertinence d'un document par rapport à une question.
Pourquoi c'est crucial ?
- Évalue la pertinence contextuelle : Pas juste la similarité
- Corrige les biais : Compense les faiblesses de BM25 et vectoriel
- Améliore de 30-50% la précision finale du RAG
Modèles de reranking populaires :
- Cohere rerank-v3 : Le plus performant, API payante
- bge-reranker-v2 : Open source, excellent rapport qualité/prix
- cross-encoder de Sentence Transformers : Alternative gratuite
Comment ça marche ?
Le reranker prend en entrée :
- Question : "Combien coûte le module d'authentification ?"
- Document candidat : Texte complet du document
Il retourne : Score de 0 à 1 (0.92 = très pertinent)
Cas d'usage réels chez CraftSquad
1. Assistant de cadrage de projet
Contexte : 37 modules fonctionnels avec descriptions détaillées
Besoin : Recommander les bons modules selon le besoin client
Implémentation :
- BM25 : Trouve les modules par nom exact ("authentification", "paiement")
- Vectoriel : Trouve les modules similaires ("connexion" → "authentification")
- Reranker : Priorise les modules vraiment adaptés au contexte client
Résultat : 85% de précision dans les recommandations (vs 60% avant)
2. Base de connaissance technique
Contexte : Documentation technique, articles, études de cas
Besoin : Répondre aux questions des développeurs
Implémentation :
- BM25 : Trouve les docs avec les noms de technos exacts (Next.js, Supabase)
- Vectoriel : Comprend les questions reformulées
- Reranker : Élimine les faux positifs
Résultat : Temps de recherche divisé par 3
3. Estimation automatique de projets
Contexte : Catalogue de modules avec estimations de temps/coût
Besoin : Chiffrer un projet à partir d'une description client
Implémentation :
- BM25 : Détecte les mots-clés métier
- Vectoriel : Comprend les besoins implicites
- Reranker : Affine les modules vraiment nécessaires
Résultat : Estimations à ±15% du réel (vs ±40% avant)
Implémentation technique
Technologies recommandées
Base de données vectorielle :
- Supabase (pgvector) : Simple, intégré avec PostgreSQL
- Pinecone : Géré, scalable
- Weaviate : Open source, très performant
Recherche BM25 :
- ElasticSearch : Standard de l'industrie
- Meilisearch : Plus simple, performant
- PostgreSQL tsvector : Intégré, pas de service externe
Reranking :
- API Cohere : Facile à intégrer
- Sentence Transformers : Self-hosted
- Jina Reranker : Alternative gratuite
Architecture recommandée
Pour un projet moyen :
- Supabase (PostgreSQL + pgvector + tsvector)
- Reranker Cohere via API
- OpenAI embeddings
Avantages : Une seule base de données, simple à maintenir
Pour un projet à fort volume :
- PostgreSQL (données structurées)
- Weaviate (recherche vectorielle)
- ElasticSearch (recherche BM25)
- Reranker self-hosted
Avantages : Performance maximale, coûts maîtrisés
Métriques de performance
Précision (Precision)
- Définition : % de documents pertinents parmi ceux retournés
- Objectif : >80%
- RAG basique : 60%
- RAG hybride + reranking : 85%
Rappel (Recall)
- Définition : % de documents pertinents trouvés sur total pertinents
- Objectif : >90%
- RAG basique : 70%
- RAG hybride : 95%
Latence
- Recherche hybride : +50ms vs recherche simple
- Reranking : +100-200ms selon le modèle
- Total : <500ms acceptable pour UX
Optimisations avancées
1. Cache des embeddings
Pré-calculer les embeddings des documents évite le recalcul à chaque requête.
Gain : -80% latence sur recherche vectorielle
2. Chunking intelligent
Découper les documents par sections sémantiques plutôt que par taille fixe.
Gain : +15% précision
3. Metadata filtering
Filtrer par catégorie/date avant la recherche hybride.
Gain : +30% vitesse, -20% faux positifs
4. Query expansion
Enrichir la question avec des synonymes avant la recherche.
Gain : +10% rappel
Pièges à éviter
Piège 1 : Trop de contexte au LLM
Erreur : Envoyer 20 documents au LLM
Impact : Coût élevé, réponses diluées
Solution : Limiter à 5 documents via reranking
Piège 2 : Ignorer BM25
Erreur : N'utiliser que la recherche vectorielle
Impact : Rate les termes exacts, noms propres
Solution : Toujours combiner les deux approches
Piège 3 : Mauvais chunking
Erreur : Chunks de 500 caractères fixes
Impact : Contexte coupé, perte de sens
Solution : Découper par sections logiques (titres, paragraphes)
Piège 4 : Pas de monitoring
Erreur : Ne pas mesurer la pertinence des résultats
Impact : Dégradation invisible de la qualité
Solution : Logger les questions, réponses et feedback utilisateur
ROI et impact business
Gains mesurables
- Temps de recherche : -70% (5 min → 1.5 min)
- Précision : +40% (60% → 85%)
- Satisfaction client : +25%
- Coût LLM : -50% (moins de tokens gaspillés)
Cas d'usage à fort ROI
- Support client automatisé
- Documentation technique searchable
- Estimation de projets
- Veille concurrentielle
- Analyse de contrats
Notre approche chez CraftSquad
Nous implémentons des RAG de production avec :
- Recherche hybride systématique : BM25 + vectoriel
- Reranking en couche finale : Cohere ou self-hosted
- Monitoring continu : Métriques de qualité en temps réel
- Optimisation progressive : A/B testing des stratégies
Résultat : Des assistants IA qui comprennent vraiment les besoins métier et délivrent des réponses précises.
Conclusion
La recherche hybride + reranking n'est pas un luxe, c'est la baseline pour un RAG de production sérieux.
Dans un monde où l'IA générative devient commodité, la qualité du RAG est votre différenciateur compétitif.
Chez CraftSquad, nous construisons des systèmes RAG qui transforment vos données en avantage stratégique.
Besoin d'un système RAG sur mesure pour votre business ? [Parlons-en](/#contact).