RAG (Recherche dans vos documents)

RAG signifie « Retrieval-Augmented Generation » — en français, « Génération augmentée par la recherche ». En termes simples : avant de répondre à une question, on cherche d'abord les bonnes informations dans vos documents. C'est comme un étudiant qui consulte ses notes avant de répondre à un examen. Ces 12 nodes couvrent toutes les étapes de la recherche : de la question initiale à la livraison des meilleurs résultats.

Vector Search

Tip

Imaginez une bibliothèque magique. Au lieu de chercher par titre ou par auteur, vous dites « je cherche quelque chose qui parle de vacances à la plage » et la bibliothèque trouve tous les livres sur ce sujet — même s'ils ne contiennent pas les mots « vacances » ou « plage ».

Vector Search convertit votre question en un « vecteur » (une représentation mathématique du sens) et le compare aux vecteurs de tous vos documents. Il trouve les passages les plus similaires en termes de signification, pas juste les mots exacts. C'est la méthode de recherche la plus utilisée dans le RAG.

Exemple

Un client demande « Quelle est votre politique de remboursement ? ». Vector Search cherche dans votre collection « FAQ » et trouve 5 passages pertinents qui parlent de remboursement, retour, et garantie — même si certains n'utilisent pas le mot « remboursement ».

Note

Utilisez-le comme méthode de recherche par défaut. Il comprend le sens et trouve des résultats pertinents même avec des formulations différentes.

Warning

Ne l'utilisez pas si vous cherchez des correspondances exactes de mots-clés (utilisez BM25) ou si vous voulez combiner les deux approches (utilisez Hybrid Search).

Hybrid Search

Tip

Imaginez un détective qui utilise deux méthodes : il cherche par le sens (comme Vector Search) ET par les mots exacts (comme BM25), puis combine les indices des deux pour trouver les meilleurs résultats.

Hybrid Search combine la recherche sémantique (par le sens — Vector Search) et la recherche par mots-clés (BM25). Vous pouvez ajuster le poids de chaque méthode. C'est souvent la meilleure approche car elle attrape à la fois les résultats « conceptuellement proches » et ceux qui contiennent les mots exacts.

Exemple

Un utilisateur cherche « article 15 du règlement intérieur ». Vector Search trouverait des passages parlant du règlement, mais pas forcément l'article 15 spécifiquement. BM25 trouverait « article 15 » exactement. Hybrid Search combine les deux et vous donne les meilleurs résultats.

Note

Utilisez-le quand vos documents contiennent des termes techniques, des codes ou des références précises que la recherche sémantique seule pourrait manquer.

Warning

Si vos documents sont très courts ou très homogènes, Vector Search seul suffit souvent.

BM25 Search

Tip

C'est comme un moteur de recherche classique (genre Google d'il y a 15 ans) : il cherche exactement les mots que vous avez tapés dans les documents. Si vous tapez « chat », il ne trouvera pas « félin » — il cherche le mot exact.

BM25 est un algorithme de recherche par mots-clés. Il calcule un score basé sur la fréquence des mots dans le document et leur rareté dans toute la collection. Les mots rares qui apparaissent souvent dans un document le rendent très pertinent. C'est rapide et efficace pour les termes techniques précis.

Exemple

Un ingénieur cherche l'erreur « ERR_CONNECTION_TIMEOUT » dans la documentation technique. BM25 trouve exactement les pages contenant ce code d'erreur, alors que Vector Search pourrait retourner des pages sur les problèmes de réseau en général.

Note

Utilisez-le pour chercher des termes techniques précis, des codes, des noms propres, des numéros de référence.

Warning

Ne l'utilisez pas pour des questions en langage naturel comme « comment améliorer mes ventes ? » (utilisez Vector Search).

Rerank

Tip

Imaginez que vous avez une pile de 10 copies d'examen. Un premier correcteur les a classées, mais vous demandez à un deuxième correcteur plus expérimenté de les re-classer. Le résultat est un meilleur classement.

Rerank prend une liste de documents déjà trouvés (par Vector Search, Hybrid ou BM25) et les re-classe selon leur pertinence par rapport à votre question. Il utilise un modèle spécialisé (Jina Reranker) qui est très bon pour évaluer la pertinence. C'est rapide et améliore significativement la qualité des résultats.

Exemple

Vector Search retourne 10 résultats. Certains sont moyennement pertinents. Rerank les ré-évalue et ne garde que les 5 meilleurs, dans un ordre plus précis. Le LLM Chat qui suit reçoit un meilleur contexte et donne une meilleure réponse.

Note

Utilisez-le après n'importe quel node de recherche pour améliorer la qualité des résultats. Recommandé pour la production.

Warning

Pas nécessaire pour des cas simples avec peu de documents, ou si la vitesse est critique (le reranking ajoute un peu de temps).

LLM Rerank

Tip

Comme Rerank, mais au lieu d'un correcteur spécialisé, c'est un professeur d'université (l'IA) qui re-lit chaque copie en détail. Plus intelligent, mais prend plus de temps.

LLM Rerank utilise un modèle de langage (LLM) pour ré-évaluer chaque document. Le LLM lit chaque passage et la question, puis attribue un score de pertinence. C'est plus précis que Rerank (Jina) pour des cas complexes, mais plus lent et plus coûteux.

Exemple

Pour une question juridique complexe, Vector Search retourne 10 passages. LLM Rerank lit chaque passage et évalue s'il répond vraiment à la question juridique, pas juste s'il parle du même sujet. Le classement final est beaucoup plus précis.

Note

Utilisez-le quand la précision est plus importante que la vitesse — questions complexes, domaines spécialisés, enjeux élevés.

Warning

Ne l'utilisez pas pour des recherches simples ou fréquentes (utilisez Rerank avec Jina — 10x plus rapide et moins cher).

Query Rewrite

Tip

Imaginez un traducteur qui prend votre question vague comme « ça marche pas » et la transforme en « Le bouton de connexion ne fonctionne pas quand je clique dessus après avoir entré mon mot de passe ». Même intention, mais beaucoup plus clair.

Query Rewrite améliore votre question avant la recherche. Les utilisateurs posent souvent des questions courtes, vagues ou avec des fautes. Ce node utilise l'IA pour reformuler la question de manière plus précise et complète, ce qui améliore les résultats de recherche. Il peut aussi utiliser l'historique de conversation pour comprendre le contexte.

Exemple

L'utilisateur tape « remboursement combien temps ». Query Rewrite transforme ça en « Quel est le délai de remboursement pour un produit retourné ? ». La recherche qui suit trouve des résultats beaucoup plus pertinents.

Note

Utilisez-le quand vos utilisateurs posent souvent des questions courtes, mal formulées, ou dans un contexte conversationnel.

Warning

Pas nécessaire si les requêtes sont déjà bien formulées (ex: requêtes API structurées).

Query Expansion

Tip

Imaginez que vous cherchez « voiture ». Query Expansion ajoute automatiquement « automobile », « véhicule », « auto » à votre recherche. Vous cherchez avec plusieurs mots au lieu d'un seul.

Query Expansion enrichit votre question en ajoutant des synonymes et des termes liés. Cela augmente les chances de trouver tous les documents pertinents, même ceux qui utilisent une terminologie différente. Vous pouvez choisir la méthode : multi-query (variations), HyDE (réponse hypothétique), ou step-back (question plus générale).

Exemple

L'utilisateur cherche « onboarding nouvel employé ». Query Expansion génère : « intégration nouveau collaborateur », « accueil salarié arrivant », « processus d'accueil recrue ». La recherche couvre tous ces angles.

Note

Utilisez-le quand vos documents utilisent une terminologie variée, ou quand vous voulez maximiser le rappel (ne rien manquer).

Warning

Pas nécessaire si votre terminologie est uniforme ou si la précision est plus importante que l'exhaustivité.

Multi-Query

Tip

C'est comme envoyer 3 détectives chercher la même information, mais chacun pose la question différemment. En combinant leurs trouvailles, vous avez plus de chances de tout trouver.

Multi-Query génère plusieurs variantes de votre question et lance des recherches parallèles. Les résultats sont fusionnés et dédupliqués. C'est une technique puissante pour les questions complexes qui peuvent être interprétées de plusieurs façons.

Exemple

Question : « Impact du télétravail sur la productivité ». Multi-Query génère : « Effet du travail à distance sur les performances », « Remote work productivity studies », « Comparaison productivité bureau vs télétravail ». Chaque variante trouve des résultats différents.

Note

Utilisez-le pour des questions complexes ou ambiguës où une seule formulation risque de manquer des résultats importants.

Warning

Pas nécessaire pour des questions simples et directes. Ajoute de la latence (plusieurs recherches).

Self-Query

Tip

Imaginez que vous dites « les rapports de 2024 en finance ». Self-Query comprend que « 2024 » est un filtre sur la date et « finance » est un filtre sur le département, et sépare la vraie question du tri.

Self-Query analyse votre question en langage naturel et en extrait automatiquement des filtres structurés. Par exemple, « les contrats signés après janvier 2024 » devient : question sémantique = « contrats signés » + filtre = {date > 2024-01}. Ces filtres sont appliqués lors de la recherche pour des résultats plus précis.

Exemple

L'utilisateur demande « les factures de plus de 10 000€ du mois dernier ». Self-Query extrait : question = « factures », filtres = {montant > 10000, date = mois dernier}. La recherche ne retourne que les factures correspondantes.

Note

Utilisez-le quand vos documents ont des métadonnées (dates, catégories, auteurs) et que vos utilisateurs filtrent naturellement dans leurs questions.

Warning

Pas utile si vos documents n'ont pas de métadonnées structurées ou si les questions sont purement sémantiques.

HyDE

Tip

Imaginez que vous cherchez un livre. Au lieu de décrire ce que vous cherchez, vous écrivez d'abord un résumé de ce à quoi le livre parfait ressemblerait. Puis vous cherchez les livres qui ressemblent à votre résumé imaginaire. Souvent, ça marche mieux !

HyDE (Hypothetical Document Embedding) est une technique astucieuse. L'IA génère d'abord un « document hypothétique » — une réponse imaginaire parfaite à votre question. Puis ce document hypothétique est utilisé pour la recherche vectorielle. Comme le document hypothétique est plus proche des vrais documents que votre question, les résultats sont souvent meilleurs.

Exemple

Question : « Comment réduire le turnover ? ». HyDE génère un paragraphe hypothétique sur les stratégies de rétention des employés. Ce paragraphe est utilisé pour chercher dans vos documents. Les résultats sont plus pertinents que si on cherchait avec la question courte.

Note

Utilisez-le pour des questions conceptuelles ou vagues où la question est très différente des documents (questions courtes, questions abstraites).

Warning

Pas nécessaire pour des questions précises ou techniques. Ajoute un appel LLM (coût + latence).

Contextual Retrieval

Tip

Imaginez un livre dont chaque paragraphe est lu tout seul, sans connaître le chapitre. Contextual Retrieval ajoute une petite introduction à chaque paragraphe : « Ce paragraphe est dans le chapitre 3 qui parle de la sécurité informatique ». Maintenant, chaque morceau a du contexte.

Contextual Retrieval (technique popularisée par Anthropic) enrichit chaque morceau de document avec un préfixe contextuel. Quand un document est découpé en petits morceaux pour la recherche, chaque morceau perd le contexte de l'ensemble. Ce node utilise l'IA pour ajouter un résumé contextuel à chaque morceau, améliorant la pertinence de la recherche.

Exemple

Un morceau de document dit « Le taux est de 3.5% ». Sans contexte, on ne sait pas de quel taux il s'agit. Contextual Retrieval ajoute : « [Document : Rapport financier 2024, Section : Taux d'intérêt] Le taux est de 3.5% ». Maintenant le LLM comprend de quoi il s'agit.

Note

Utilisez-le quand vos documents sont longs et que les morceaux perdent leur sens une fois isolés. Très utile pour les documents techniques, juridiques, financiers.

Warning

Pas nécessaire si vos documents sont courts ou si chaque morceau est auto-suffisant (FAQ, fiches produit).

Semantic Cache

Tip

Imaginez que quelqu'un vous pose la même question tous les jours. Au lieu de refaire tout le travail de recherche à chaque fois, vous vous souvenez de la réponse et la donnez instantanément. C'est ça le cache sémantique.

Semantic Cache mémorise les réponses aux questions fréquentes. Quand une nouvelle question arrive, il vérifie si une question similaire a déjà été posée. Si oui, il retourne la réponse mémorisée instantanément (sans refaire la recherche ni appeler le LLM). « Similaire » signifie sémantiquement proche — « Quel est le prix ? » et « Combien ça coûte ? » sont considérés comme similaires.

Exemple

Votre chatbot reçoit 50 fois par jour la question « Quels sont vos horaires ? ». Semantic Cache mémorise la réponse après la première fois et répond instantanément aux 49 suivantes. Coût et latence divisés par 50.

Note

Utilisez-le quand vous avez des questions répétitives (FAQ, support client, chatbot public). Réduit les coûts et accélère les réponses.

Warning

Ne l'utilisez pas si chaque question est unique ou si les données changent très fréquemment (le cache retournerait des réponses obsolètes).