ArtefactNeural
RAG local2 min de lecture

Retrieval hybride : embeddings, BM25 et knowledge graph expliqués

Le retrieval hybride combine plusieurs signaux pour retrouver le bon passage : BM25 pour les termes exacts, des embeddings pour le sens, un knowledge graph pour le contexte des notes voisines, et un reranking pour classer finement. Chaque étage couvre l'angle mort des autres.


La plupart des systèmes de RAG font une seule chose : ils encodent ta question en vecteur, cherchent le chunk le plus proche dans la base, et espèrent que c'est le bon. Ça marche souvent. Ça rate dès que ta question contient un terme rare, un acronyme ou un nom de fichier. Le retrieval hybride corrige ça en empilant plusieurs signaux complémentaires.

Étage 1 : la recherche, lexicale et sémantique

Deux signaux notent la même requête, puis fusionnent.

BM25, pour les termes exacts

BM25 est une méthode lexicale éprouvée. Elle excelle là où l'embedding seul rate : le mot rare, l'acronyme, le nom de fichier précis. Si tu cherches bge-reranker-v2-m3, tu veux une correspondance exacte, pas un voisin sémantique approximatif.

Les embeddings, pour le sens

Un embedder (ici Qwen3-Embedding, dimension 1024) capte l'intention. Il retrouve la bonne note même quand tes mots ne sont pas ceux de la note. « Comment je cache les vecteurs » et « stratégie de persistance des embeddings » pointent vers la même décision.

La fusion des deux scores donne un classement unique : précision lexicale plus proximité de sens. Aucun des deux signaux seul ne suffit.

Étage 2 : le graphe, le contexte par les liens

Une note ne vit pas isolée. Dans un vault Obsidian, tes [[wikilinks]] disent comment les idées se relient. Le graphe lit ces liens (avec NetworkX) et reconstruit le voisinage. Quand une note pertinente sort, l'expansion par voisinage fait remonter ses voisines, exactement le contexte que tu aurais ouvert à la main.

C'est ce qui distingue un knowledge graph d'une simple recherche : la structure de tes notes devient un signal de retrieval. On creuse l'angle Obsidian dans interroger ton vault.

Étage 3 : le reranking, le bon passage en tête

Les deux premiers étages ramènent un lot de bons candidats, par exemple le top 100. Mais « bon candidat » ne veut pas dire « la meilleure réponse à cette question précise ». Un cross-encoder re-note chaque candidat contre ta question et trie. Le passage le plus juste remonte en tête. On y consacre un article entier : le reranking cross-encoder.

Pourquoi empiler plutôt que choisir

Chaque étage couvre l'angle mort du précédent.

  • Les embeddings ratent les termes exacts, BM25 les rattrape.
  • BM25 ignore le sens, les embeddings le captent.
  • Les deux ignorent la structure, le graphe la ramène.
  • Aucun ne sait classer finement, le reranker s'en charge.

Le résultat se mesure. Sur des ground-truths datés, ce pipeline atteint un Hit@1 de 0,909, en restant strict et honnête sur la méthode, sans score magique.

En résumé

Un retrieval hybride, ce n'est pas un embedder de plus, c'est une chaîne où chaque maillon compense les autres. Pour le contexte général, lis qu'est-ce qu'un RAG local. Pour brancher ce pipeline sur ton vault, vois la documentation et les offres Studio.

Questions fréquentes

Qu'est-ce que le retrieval hybride ?
C'est l'association de la recherche lexicale (BM25, termes exacts) et de la recherche sémantique (embeddings, le sens), fusionnées en un seul classement, puis affinées par un graphe et un reranking.
Pourquoi ne pas utiliser que les embeddings ?
Les embeddings ratent les termes exacts (acronymes, noms de fichiers) que BM25 rattrape. Empiler les deux, plus le graphe et le reranking, donne un retrieval bien plus fiable qu'un seul signal.

Smart Brain est le moteur de RAG local derrière Artefact Neural. Voir les offres ou lire la documentation.