Pour qui ? Ma méthode Compétences Réalisations Avis Contact

RAG

Principes et cas d’usage

Comprendre le rôle stratégique du RAG

Les grands modèles de langage accomplissent des prouesses, mais leur connaissance est figée à la date de leur entraînement. Lorsqu’une réponse dépend d’informations internes et changeantes — documentation produit, procédures, contrats, tickets support — il faut relier le modèle à une mémoire externe fiable. C’est précisément ce que propose le Retrieval‑Augmented Generation (RAG) : récupérer à la volée les passages pertinents dans une base documentaire, les injecter dans le prompt, puis générer une réponse fondée et traçable. L’objectif n’est pas seulement d’être “plus juste”, mais d’opérer avec des sources gouvernées par l’entreprise, auditées et mises à jour en continu.

Comprendre le RAG

01

La Recherche

La question de l’utilisateur est convertie en représentation numérique et comparée à un index de documents pré‑vectorisés pour sélectionner des passages réellement proches par le sens.

02

L'Augmentation

Ces extraits sont injectés dans un prompt structuré avec des consignes précises (format de sortie, citation des sources, droit de dire “je ne sais pas”).

03

La Génération

Le modèle produit la réponse en s’appuyant sur ce contexte ciblé. Cette orchestration réduit les hallucinations et rend la réponse vérifiable.

C’est quoi la vectorisation ?

La vectorisation consiste à transformer un texte en un vecteur (embedding), c’est‑à‑dire une suite de nombres qui capture des proximités de sens. Deux textes sémantiquement proches — même lorsqu’ils n’emploient pas les mêmes mots — se retrouvent proches dans l’espace vectoriel.

Exemple : Espace Vectoriel (5 dimensions)

Texte Vecteur (Embedding)
Le chien aboie. [0.2, 0.8, 0.1, 0.5, 0.3]
L’animal domestique jappe. [0.3, 0.7, 0.2, 0.4, 0.2]
La voiture roule. [0.8, 0.1, 0.9, 0.2, 0.7]

sim(A,B) = (A·B) / (‖A‖ × ‖B‖)

sim(« Le chien aboie », « L’animal domestique jappe ») ≈ 0,97 (Sens proche)

sim(« Le chien aboie », « La voiture roule ») ≈ 0,12 (Sujets éloignés)

Quand recourir au RAG — et quand s’en abstenir

Go RAG

Lorsque le service dépend d’informations qui évoluent souvent, lorsque la traçabilité est décisive, ou lorsque le corpus est long et hétérogène (PDF, wikis, tickets, tableaux). On préfère injecter des passages exacts.

Alternatives

Lorsque l’objectif est comportemental (style, format strict), ou quand la latence doit être très basse. Ici, le Fine-tuning ou des requêtes SQL/BI classiques sont plus adaptés.

Les briques techniques qui font la différence

Préparation des données

Découpage en segments cohérents (chunking) avec chevauchement pour préserver le contexte.

Métadonnées

Langue, version, auteur... essentiels pour filtrer finement avant la recherche.

Modèle d’embedding

Doit être adapté à la langue et au domaine pour garantir la pertinence sémantique.

Recherche Hybride

Combinaison Dense (sens) + Sparse (mots-clés précis/acronymes) pour le meilleur des deux mondes.

Reranking

Reclassement des candidats par un modèle léger pour ne garder que le "top tier" utile.

Orchestration Prompt

Rappel des règles, format de sortie, et ordre des extraits pour limiter l'effet "lost-in-the-middle".

Mesurer la qualité d’un système RAG

Mettre en ligne un RAG n’est qu’un début ; la valeur vient de l’évaluation continue.

  • Pertinence de la récupération

    Indicateurs : Recall@k, Mean Reciprocal Rank (MRR).

  • Fidélité de la réponse

    Frameworks (RAGAS, TruLens) pour vérifier que le modèle n'invente pas.

  • Latence et Coût

    Réponse en quelques secondes, maîtrise de la taille du prompt via reranking.

  • Automatisation

    Jeu de tests représentatif pour éviter les régressions à chaque mise à jour.

Retours d’expérience : ChromaDB vs Qdrant

ChromaDB

Le Starter Pack

Excelle pour démarrer vite. Simplicité, SDK Python/JS, mode local (SQLite). Idéal pour valider une pipeline, tester des chunks, et faire une démo.

Limite : Peine en multi-processus, concurrence et filtres complexes sans mode serveur.

Qdrant

La Production

Tient la charge. Filtrage riche, support hybride (dense/sparse), clustering et snapshots. Permet de déléguer le reranking côté serveur.

Atout : La combinaison "filtres stricts + hybride + rerank" réduit drastiquement les hallucinations.

Du POC à la Production

1. Index local ChromaDB
2. Recherche Hybride + Reranking
3. Migration Qdrant (Scale)

FAQ : RAG & Vector Databases

Le RAG apporte des connaissances factuelles externes sans réentraînement (idéal pour des données à jour). Le Fine-Tuning adapte le comportement, le style ou le format du modèle (idéal pour spécialiser une tâche), mais ne met pas à jour ses connaissances factuelles aussi facilement.
Les bases de données classiques (SQL) ne savent pas gérer la "similarité de sens". Qdrant est optimisé pour stocker des millions de vecteurs et effectuer des recherches de proximité (plus proche voisin) en quelques millisecondes, tout en permettant des filtres complexes.
C'est une étape intermédiaire où un modèle spécialisé (Cross-Encoder) réévalue les X documents trouvés par la recherche vectorielle pour les trier avec une grande précision. Cela permet de ne fournir au LLM que les 3 ou 5 passages les plus pertinents, réduisant les coûts et les erreurs.

Partager cet article

L'oeil du CTO

" Le RAG n’est pas un artifice, c’est une brique d’architecture qui relie un modèle de langage à la connaissance vivante de l’entreprise. Techniquement, l’investissement porte sur la qualité de l’ingestion, le choix des embeddings, la recherche hybride et le reranking, ainsi que sur une évaluation continue outillée. Économiquement, la maîtrise de la latence et des tokens se joue dans la sélection stricte des passages. Stratégiquement enfin, sécurité, conformité et auditabilité doivent être intégrées dès l’indexation, pas après coup. La recommandation est simple : démarrer vite et propre, mesurer, puis industrialiser avec les bons composants — ChromaDB pour aller vite, Qdrant pour tenir la distance. "