
Comment créer un RAG agentique avec la recherche hybride
également connu sous le nom de RAG, est une méthode puissante pour rechercher des documents pertinents dans un corpus d’informations, que vous fournissez ensuite à un LLM pour répondre aux questions des utilisateurs.
Traditionnellement, RAG utilise d’abord la similarité vectorielle pour trouver des morceaux de documents pertinents dans le corpus, puis introduit les morceaux les plus pertinents dans le LLM pour fournir une réponse.
Cela fonctionne très bien dans de nombreux scénarios, car la similarité sémantique est un moyen puissant de trouver les morceaux les plus pertinents. Cependant, la similarité sémantique est problématique dans certains scénarios, par exemple lorsqu’un utilisateur saisit des mots-clés ou des identifiants spécifiques qui doivent être explicitement localisés pour être utilisés comme bloc pertinent. Dans ces cas-là, la similarité vectorielle n’est pas très efficace et vous avez besoin d’une meilleure approche pour trouver les morceaux les plus pertinents.
C’est là qu’intervient la recherche par mot-clé, où vous trouvez des éléments pertinents en utilisant la recherche par mot-clé et la similarité vectorielle, également connue sous le nom de recherche hybride, qui est le sujet dont je vais parler aujourd’hui.

Pourquoi utiliser la recherche hybride
La similarité vectorielle est très puissante. Il est capable de trouver efficacement des morceaux pertinents dans un corpus de documents, même si l’invite de saisie contient des fautes de frappe ou utilise des synonymes tels que le mot ascenseur au lieu du mot ascenseur.
Cependant, la similarité des vecteurs est insuffisante dans d’autres scénarios, notamment lors de la recherche de mots-clés ou de numéros d’identification spécifiques. La raison en est que la similarité des vecteurs n’accorde pas une grande importance aux mots individuels ou aux identifiants par rapport aux autres mots. Ainsi, les mots-clés ou les identifiants de clé sont généralement noyés dans d’autres mots pertinents, ce qui rend difficile pour la similarité sémantique de trouver les morceaux les plus pertinents.
La recherche par mots-clés, cependant, est incroyablement efficace pour les mots-clés et les identifiants spécifiques, comme son nom l’indique. Avec BM25, par exemple, si vous avez un mot qui n’existe que dans un seul document et dans aucun autre document, et que ce mot figure dans la requête de l’utilisateur, ce document aura une pondération très élevée et sera très probablement inclus dans les résultats de la recherche.
C’est la principale raison pour laquelle vous souhaitez utiliser une recherche hybride. Vous pouvez simplement trouver des documents plus pertinents si l’utilisateur saisit des mots-clés dans sa requête.
Comment mettre en œuvre la recherche hybride
Il existe de nombreuses façons de mettre en œuvre la recherche hybride. Si vous souhaitez l’implémenter vous-même, vous pouvez procéder comme suit.
- Implémentez la récupération de vecteurs via la similarité sémantique comme vous l’auriez normalement fait. Je ne couvrirai pas les détails exacts dans cet article car cela sort du cadre, et le point principal de cet article est de couvrir la partie recherche par mot clé de la recherche hybride.
- Implémentez BM25 ou un autre algorithme de recherche par mot clé que vous préférez. BM25 est une norme car elle s’appuie sur TF-IDF et possède une meilleure formule, ce qui en fait le meilleur choix. Cependant, l’algorithme de recherche par mot-clé exact que vous utilisez n’a pas vraiment d’importance, même si je recommande d’utiliser BM25 comme standard.
- Appliquez une pondération entre la similarité trouvée via la similarité sémantique et la similarité de recherche par mot-clé. Vous pouvez décider vous-même de cette pondération en fonction de ce que vous considérez comme le plus important. Si un agent effectue une recherche hybride, vous pouvez également lui demander de décider de cette pondération, car les agents auront généralement une bonne intuition quant au moment d’utiliser ou d’attendre, à gauche ou à la similarité davantage, et au moment où évaluer davantage la similarité de la recherche par mot clé.
Il existe également des packages que vous pouvez utiliser pour y parvenir, tels que le stockage vectoriel TurboPuffer, qui intègre un package de recherche par clavier. Cependant, pour savoir comment le système fonctionne réellement, il est également recommandé de le mettre en œuvre vous-même pour essayer le système et voir s’il fonctionne.
Dans l’ensemble, cependant, la recherche hybride n’est pas vraiment difficile à mettre en œuvre et peut offrir de nombreux avantages. Si vous envisagez une recherche hybride, vous savez généralement comment fonctionne la recherche vectorielle elle-même et il vous suffit d’y ajouter l’élément de recherche par mot clé. La recherche par mot-clé en elle-même n’est pas non plus si compliquée, ce qui fait de la recherche hybride une chose relativement simple à mettre en œuvre, ce qui peut apporter de nombreux avantages.
Recherche hybride agent
La mise en œuvre de la recherche hybride est une excellente chose et améliorera probablement le fonctionnement de votre système RAG dès le départ. Cependant, je pense que si vous voulez vraiment tirer le meilleur parti d’un système de recherche RAG hybride, vous devez le rendre agentique.
En le rendant agent, je veux dire ce qui suit. Un système RAG typique récupère d’abord les morceaux pertinents, documente les morceaux, alimente ces morceaux dans un LLM et lui demande de répondre à une question de l’utilisateur.
Cependant, un système RAG agentique le fait un peu différemment. Au lieu d’effectuer la récupération du tronc avant d’utiliser un LLM pour répondre, vous faites de la fonction de récupération du tronc un outil auquel le LLM peut accéder. Ceci rend bien sûr le LLM agent, il a donc accès à un outil et présente plusieurs avantages majeurs :
- L’agent peut décider lui-même de l’invite à utiliser pour la recherche vectorielle. Ainsi, au lieu d’utiliser uniquement l’invite utilisateur exacte, il peut réécrire l’invite pour obtenir des résultats de recherche vectorielles encore meilleurs. La réécriture de requêtes est une technique bien connue que vous pouvez utiliser pour améliorer les performances de RAG.
- L’agent peut récupérer les informations de manière itérative, il peut donc d’abord effectuer un appel de recherche vectorielle, vérifier s’il dispose de suffisamment d’informations pour répondre à une question, et sinon, il peut récupérer encore plus d’informations. Cela permet à l’agent d’examiner les informations qu’il a récupérées et, si nécessaire, d’en récupérer encore plus, ce qui lui permettra de mieux répondre aux questions.
- L’agent peut décider lui-même de la pondération entre la recherche par mot-clé et la similarité vectorielle. C’est incroyablement puissant car l’agent sait généralement s’il recherche un mot-clé ou s’il recherche un contenu sémantiquement similaire. Par exemple, si l’utilisateur a inclus un mot-clé dans sa requête de recherche, l’agent accordera probablement une plus grande importance à l’élément de recherche par mot-clé de la recherche hybride, et obtiendrons des résultats encore meilleurs. Cela fonctionne bien mieux que d’avoir un nombre statique pour la pondération entre la recherche par mot-clé et la similarité vectorielle.
Les Frontier LLM d’aujourd’hui sont incroyablement puissants et seront capables de porter eux-mêmes tous ces jugements. Il y a quelques mois à peine, je douterais que vous deviez donner à l’agent autant de liberté que celle décrite dans les puces ci-dessus, en lui permettant de sélectionner une utilisation rapide, de récupérer des informations de manière itérative et de pondérer entre la recherche par mot clé et la similarité sémantique. Cependant, aujourd’hui, je sais que les derniers Frontier LLM sont devenus si puissants que c’est tout à fait faisable et même quelque chose que je recommande de mettre en œuvre.
Ainsi, en implémentant HybridSearch et en le rendant agentique, vous pouvez vraiment surcharger votre système RAG et obtenir de bien meilleurs résultats que ceux que vous auriez obtenus avec un système RAG à similarité vectorielle statique uniquement.
Conclusion
Dans cet article, j’ai expliqué comment implémenter la recherche hybride dans votre système RAG. De plus, j’ai décrit comment rendre votre système RAG authentique pour obtenir de bien meilleurs résultats. La combinaison de ces deux techniques entraînera une incroyable augmentation des performances de votre système de recherche d’informations, et cela peut, en fait, être mis en œuvre assez facilement à l’aide d’agents de codage tels que Claude Code. Je crois que Agentex Systems est l’avenir de la recherche d’informations, et je vous exhorte à fournir des outils de recherche d’informations efficaces, tels qu’une recherche hybride, à vos agents et à leur faire effectuer le reste du travail.
👉 Mon eBook et mon webinaire gratuits :
🚀 10x votre ingénierie avec les LLM (cours gratuit par e-mail de 3 jours)
📚 Obtenez mon ebook gratuit sur les modèles de langage de vision
💻 Mon webinaire sur les modèles de langage de vision
👉 Retrouvez-moi sur les réseaux sociaux :



