RAG et recherche hybride : l'avenir de l'IA documentaire
Le brief IA que les pros lisent chaque soir
Les 7 actus IA du jour, décryptées en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Qu'est-ce que le RAG ?
Le concept de Retrieval-Augmented Generation (RAG) représente une avancée significative dans le domaine de la recherche documentaire assistée par l'intelligence artificielle. Cette méthode permet de trouver des documents pertinents dans un vaste corpus d'informations, qui sont ensuite utilisés par un modèle de langage (LLM) pour répondre aux questions des utilisateurs. En pratique, le RAG utilise la similarité vectorielle pour identifier les segments pertinents dans un corpus, puis transmet ces segments au LLM afin de générer une réponse précise.
La similarité sémantique est un outil puissant pour identifier les segments les plus pertinents, car elle permet de comprendre le sens des mots au-delà de leur simple apparence. Cependant, cette méthode peut rencontrer des difficultés dans certaines situations, notamment lorsque l'utilisateur utilise des mots-clés ou des identifiants spécifiques qui doivent être localisés explicitement. Dans de tels cas, la similarité vectorielle seule peut ne pas suffire, et une approche différente est nécessaire pour extraire les informations les plus pertinentes.
Pourquoi utiliser la recherche hybride
La similarité vectorielle est extrêmement efficace pour identifier des segments pertinents dans un corpus de documents, même lorsque la requête contient des erreurs ou des synonymes. Par exemple, elle peut comprendre qu'un utilisateur cherchant "ascenseur" pourrait aussi vouloir dire "élévateur". Cependant, elle montre ses limites lorsqu'il s'agit de rechercher des mots-clés ou des identifiants spécifiques.
La raison principale est que la similarité vectorielle ne donne pas un poids suffisant aux mots ou identifiants individuels par rapport aux autres mots. Par conséquent, les mots-clés ou identifiants clés peuvent être noyés parmi d'autres mots pertinents, rendant difficile pour la similarité sémantique de trouver les segments les plus pertinents.
En revanche, la recherche par mots-clés, comme celle effectuée par l'algorithme BM25, est particulièrement efficace pour identifier des termes spécifiques. Par exemple, si un mot n'apparaît que dans un document et que ce mot figure dans la requête de l'utilisateur, ce document sera fortement pondéré et inclus dans les résultats de recherche.
C'est pourquoi une approche hybride est recommandée. En combinant la similarité vectorielle et la recherche par mots-clés, il est possible de trouver plus de documents pertinents, surtout lorsque l'utilisateur utilise des mots-clés dans sa requête.
Comment mettre en œuvre la recherche hybride
La mise en œuvre d'une recherche hybride peut se faire de plusieurs manières. Voici les étapes à suivre si vous souhaitez le faire vous-même :
-
Commencez par implémenter la récupération vectorielle via la similarité sémantique. Bien que cet article ne couvre pas les détails exacts de ce processus, il est essentiel pour la recherche hybride.
-
Ensuite, implémentez un algorithme de recherche par mots-clés, tel que BM25. BM25 est souvent recommandé car il repose sur le modèle TF-IDF et offre une meilleure formule pour la recherche par mots-clés. Cependant, le choix de l'algorithme exact n'est pas crucial, bien que BM25 soit un bon standard.
-
Appliquez une pondération entre la similarité trouvée via la similarité sémantique et la similarité de recherche par mots-clés. Cette pondération peut être ajustée en fonction de l'importance que vous accordez à chaque méthode. Si vous avez un agent effectuant une recherche hybride, vous pouvez également laisser l'agent décider de cette pondération, car les agents ont généralement une bonne intuition pour savoir quand utiliser ou privilégier l'une ou l'autre méthode.
Des outils comme TurboPuffer offrent des solutions intégrées pour le stockage vectoriel et la recherche par mots-clés. Cependant, pour une compréhension approfondie du système, il est conseillé de réaliser une implémentation personnelle.
Recherche hybride agentique
Mettre en œuvre une recherche hybride est une amélioration significative pour tout système RAG. Cependant, pour maximiser les avantages, il est crucial de rendre le système agentique.
Un système RAG agentique fonctionne différemment d'un système traditionnel. Plutôt que de récupérer les segments pertinents avant d'utiliser un LLM pour répondre, la fonction de récupération des segments devient un outil auquel le LLM peut accéder directement. Cela confère au LLM une autonomie accrue, avec plusieurs avantages majeurs :
-
L'agent peut décider lui-même du prompt à utiliser pour la recherche vectorielle. Ainsi, au lieu d'utiliser uniquement le prompt exact de l'utilisateur, il peut reformuler le prompt pour obtenir de meilleurs résultats de recherche vectorielle. La reformulation de requête est une technique bien connue pour améliorer les performances du RAG.
-
L'agent peut récupérer les informations de manière itérative, ce qui signifie qu'il peut d'abord effectuer un appel de recherche vectorielle, vérifier s'il a suffisamment d'informations pour répondre à une question, et si ce n'est pas le cas, il peut récupérer encore plus d'informations. Cela permet à l'agent de revoir les informations qu'il a récupérées et, si nécessaire, d'en obtenir encore plus, ce qui l'aidera à mieux répondre aux questions.
-
L'agent peut décider lui-même de la pondération entre la recherche par mots-clés et la similarité vectorielle. C'est incroyablement puissant, car l'agent sait généralement s'il recherche un mot-clé ou un contenu sémantiquement similaire. Par exemple, si l'utilisateur a inclus un mot-clé dans sa requête de recherche, l'agent aura probablement tendance à pondérer davantage l'élément de recherche par mots-clés de la recherche hybride, ce qui donnera de meilleurs résultats. Cela fonctionne beaucoup mieux que d'avoir un nombre statique pour la pondération entre la recherche par mots-clés et la similarité vectorielle.
Les LLM de pointe d'aujourd'hui sont incroyablement puissants et seront capables de faire tous ces jugements eux-mêmes. Il y a quelques mois, j'aurais douté de la nécessité de donner à l'agent autant de liberté que je l'ai décrit dans les points ci-dessus, en lui permettant de sélectionner l'utilisation du prompt, de récupérer les informations de manière itérative et de décider de la pondération entre la recherche par mots-clés et la similarité sémantique. Cependant, aujourd'hui, je sais que les derniers LLM de pointe sont devenus si puissants que cela est tout à fait réalisable et même quelque chose que je recommande de mettre en œuvre.
Ainsi, en mettant en œuvre à la fois la recherche hybride et en la rendant agentique, vous pouvez vraiment dynamiser votre système RAG et obtenir des résultats bien meilleurs que ceux que vous auriez obtenus avec un système RAG basé uniquement sur la similarité vectorielle.
Dans cet article, j'ai discuté de la manière d'implémenter la recherche hybride dans votre système RAG. De plus, j'ai décrit comment rendre votre système RAG agentique pour obtenir des résultats bien meilleurs. La combinaison de ces deux techniques entraînera une augmentation incroyable des performances de votre système de récupération d'informations, et cela peut en fait être mis en œuvre assez facilement en utilisant des agents de codage tels que Claude Code. Je crois que les systèmes agentiques sont l'avenir de la récupération d'informations, et je vous encourage à fournir des outils de récupération d'informations efficaces, tels qu'une recherche hybride, à vos agents et à leur faire accomplir le reste du travail.
Brief IA — L'actualité IA en français
L'essentiel de l'actualité de l'intelligence artificielle, décrypté et expliqué chaque jour.