Guide

Statut éditorial : En attente de relecture

Weaviate : concevoir une recherche hybride efficace

Combiner recherche BM25 et vectorielle dans Weaviate, régler la fusion, filtrer et évaluer la pertinence en production.

Classification du contenu

Types

  • RAG et recherche vectorielle

Technologies

Niveau
Intermédiaire
Publié le
24 août 2026
Dernière relecture
Relecture en attente
Prochaine vérification
24 octobre 2026

Pourquoi ce sujet est important

La recherche vectorielle comprend les formulations proches, tandis que BM25 retrouve précisément noms, codes et termes rares. La recherche hybride de Weaviate combine ces signaux. Son efficacité dépend cependant du réglage, du corpus et de l’évaluation.

Comprendre les deux signaux

BM25 classe selon les termes du document et de la requête. Le vecteur classe selon la proximité sémantique. Une requête “contrat AX-204” a besoin du code exact ; une requête reformulée bénéficie du vecteur. La combinaison améliore souvent la robustesse.

Régler alpha et fusion

Alpha pondère la part vectorielle et lexicale selon l’API utilisée. Une valeur extrême revient à privilégier un seul signal. Les méthodes de fusion combinent rangs ou scores normalisés. Testez plusieurs valeurs sur un jeu étiqueté plutôt que de choisir 0,5 par habitude.

Préparer les données

Un bon chunking conserve titres, sections et identifiants utiles. Choisissez les propriétés indexées lexicalement et la vectorisation. Stockez langue, source, tenant, droits, date et version d’embedding. Les métadonnées permettent filtrage, explication et suppression.

Ajouter les filtres

Appliquez tenant, droits, type et période au niveau de la requête. Vérifiez leur interaction avec la recherche hybride et le nombre de candidats. L’autorisation ne doit jamais dépendre du score ou d’une décision du modèle.

Évaluer

Constituez des requêtes navigationnelles, factuelles et sémantiques. Mesurez recall@k, MRR ou nDCG, puis la qualité de la réponse RAG. Analysez séparément les requêtes avec identifiants exacts et celles en langage naturel.

Reranker si nécessaire

Un reranker peut reclasser les premiers candidats avec une compréhension plus fine. Utilisez-le seulement si le gain mesuré compense latence et coût. Le retrieval doit déjà fournir des candidats pertinents.

Tableau de décision

Type de requêteSignal utileExemple
Identifiant exactBM25INC-4821
ReformulationVecteurComment annuler mon contrat ?
MixteHybrideErreur OAuth sur API mobile
Très ambiguëHybride + rerankerProblème de connexion

Exemple concret

Une base de support contient noms de produits, codes d’erreur et descriptions. Le vectoriel retrouve des symptômes proches mais rate certains codes. BM25 retrouve les codes mais pas les paraphrases. Après évaluation, une pondération hybride améliore le rappel, puis un reranker réduit les faux positifs parmi les vingt premiers résultats.

Les erreurs fréquentes

Checklist de mise en production

FAQ

Quelle valeur alpha choisir ?

Celle qui maximise vos métriques sur vos requêtes. Il n’existe pas de valeur universelle.

Hybride remplace-t-il un reranker ?

Pas nécessairement. La fusion crée de bons candidats ; le reranker peut affiner les premiers résultats.

Faut-il vectoriser tous les champs ?

Non. Vectorisez le contenu sémantiquement utile et conservez certains champs pour recherche lexicale ou filtres.

Comment gérer plusieurs langues ?

Testez l’embedding, la tokenisation BM25 et les requêtes par langue ; une configuration unique peut produire des écarts.

Sources utilisées