« J'aimerais que ChatGPT lise notre règlement intérieur et réponde tout seul aux questions des salariés. » « Pouvez-vous chercher dans la dernière base d'articles scientifiques et faire des résumés ? » -- ce genre de besoins se multiplié. Mais les données d'entraînement de ChatGPT s'arrêtent à une certaine date, et il n'est pas envisageable de lui faire ingérer directement des documents confidentiels.

La technique qui résout ce problème s'appelle le RAG (Retrieval-Augmented Génération, ou génération augmentée par recherche). Depuis 2023, c'est l'un des mots-clés incontournables de l'IA en entreprise -- et les fonctions « Custom GPTs » ou « Projects » de ChatGPT reposent justement sur du RAG en interne.

Cet article explique le fonctionnement du RAG en trois étapes illustrées, et détaillé les bases vectorielles, l'implémentation avec LangChain et la comparaison avec le fine-tuning. L'objectif : un texte accessible aux débutants tout en restant techniquement juste.

RAG (Retrieval-Augmented Génération)

Génération augmentée par recherche — donner du savoir externe au LLM

Utilisateur
Saisit la question
Question
Base vectorielle
Retrieval (recherche)
Pinecone / Qdrant
Chroma / pgvector
LLM
Génération
GPT-4 / Claude
Gemini / Llama
Réponse
Réponse sourcee
Answer
Connaissances externes
Documents internes / PDF
Manuels / FAQ
Articles / actualités
Augmented Prompt
Résultats + question
↓ Transmis au LLM
Le RAG en 3 étapes
1. Retrieval (recherche) → 2. Augmented (enrichissement) → 3. Génération
Résout les problèmes de cutoff, d'hallucination et d'accès aux données internes

1. Le RAG, c'est quoi ? -- Retrieval-Augmented Génération

Littéralement, RAG (Retrieval-Augmented Génération) signifie « génération (Génération) augmentée (Augmented) par recherche (Retrieval) ». En français on parle de génération augmentée par recherche.

En une phrase : avant que le LLM (grand modèle de langage) ne généré sa réponse, on va chercher dans une base externe les informations pertinentes, puis on les lui transmet pour qu'il s'en serve.

Une analogie culinaire

Un LLM seul, c'est « un chef qui cuisine de mémoire ». Très compétent, mais incapable de préparer une recette qu'il ne connaît pas et ignorant ce qu'il y a dans le frigo.

Le RAG, c'est donner au chef un livre de recettes et lui annoncer le contenu du frigo avant qu'il ne se mette aux fourneaux. Il peut alors composer le meilleur plat possible avec les ingrédients du jour, en se basant sur les recettes pertinentes.

Le rôle de « Retrieval », « Augmented » et « Génération »

MotSensRôle dans un RAG
RetrievalRecherche / récupérationAller chercher dans la base les documents liés à la question
AugmentedAugmentation / enrichissementAjouter ces documents au prompt envoyé au LLM
GénérationGénérationLe LLM produit la réponse en s'appuyant sur les documents fournis

Le point clé, c'est qu'on ne reentraine pas le LLM. À chaque question, on lui passe les connaissances nécessaires depuis l'extérieur. C'est la différence fondamentale avec le fine-tuning, sur lequel on reviendra.

2. Pourquoi en a-t-on besoin ? -- les 3 limites du LLM seul

ChatGPT, Claude et leurs équivalents ont trois limites importantes qu'ils ne peuvent pas résoudre seuls.

Limite 1 : la date de coupure des connaissances (fraîcheur)

Un LLM est entraîné sur des données jusqu'à une date donnée. Au-delà, il ne sait rien. Par exemple, la version initiale de GPT-4 ne connaissait que les informations jusqu'à avril 2023.

  • « Parle-moi du nouveau produit annonce hier. » -> sans réponse
  • « Que prévoit la loi votee la semaine dernière ? » -> sans réponse
  • « Quel est le taux de change aujourd'hui ? » -> sans réponse

Avec le RAG, on peut tirer ces informations d'un flux d'actualités, d'une base de données ou d'une API.

Limite 2 : les hallucinations (mensonges convaincants)

Quand on pose au LLM une question dont il ignore la réponse, il a tendance à inventer une réponse crédible. C'est ce qu'on appelle une hallucination.

Exemple : « Combien de jours de conges payés prévoit notre règlement intérieur ? » Le LLM, qui ne sait pas, peut répondre « En général, 10 à 20 jours » -- inutilisable en entreprise.

Avec un RAG, on lui transmet le vrai règlement intérieur. Il fournit alors une réponse fondée sur des sources, et peut même indiquer la page exacte où figure l'information.

Limite 3 : pas d'accès aux données internes ou privées

Les manuels, contrats et données clients de votre entreprise ne font pas partie de l'entraînement du LLM. Et il est hors de question de lui faire avaler ces données confidentielles (risque de fuite, coût).

Avec le RAG, on stocké les documents internes dans sa propre base vectorielle, on en extrait uniquement la portion pertinente au moment de la question et on la donne au LLM. On exploite ainsi les données internes tout en préservant la sécurité.

3. Fonctionnement -- le RAG en 3 étapes

Le RAG comporte deux phases : « la préparation (indexation) » et « l'exécution (réponse à la question) ».

Vue d'ensemble du pipeline RAG

De la question à la réponse — flux complet

▶ Phase d'exécution : réponse à la question
1. Question
"Combien de jours ?"
User Query
2. Embed
Modèle d'embedding
[0.12, -0.45, ...]
3. Recherche
Plus proches voisins
Cosine Similarity
4. Chunks obtenus
3 a 5 documents
Article 15 conges...
5. LLM + Context (Augmented Prompt)
« Réponds en te basant sur ce qui suit : [chunk] Question : [requête utilisateur] »
GPT-4 / Claude / Gemini répondent en s'appuyant sur les sources
6. Réponse (avec source)
"10 jours après 6 mois (cf. art. 15 du règlement)"
▶ Phase de préparation : vectorisation des documents
Document
PDF / Word
Découpage
500-1000 car.
Embedding
Vectorisation
Base vectorielle
Stockage / index
À exécuter lorsd'ajouts / MAJ

Phase de préparation -- vectoriser les documents

  1. Collecter les documents : PDF, Word, HTML, Markdown, etc.
  2. Découpage en chunks : couper en morceaux (par exemple 500 a 1 000 caractères)
  3. Embedding : passer chaque chunk dans un modèle d'embedding (ex. OpenAI text-embedding-3-small) pour le transformer en vecteur (par exemple 1 536 dimensions)
  4. Stockage en base vectorielle : sauvegarder chunks et vecteurs dans une BDD spécialisée (Pinecone, Qdrant, etc.)

Cette étape se relance lors d'ajouts ou de mises à jour de documents.

Phase d'exécution -- répondre en 3 étapes

Quand un utilisateur pose une question, voici ce qui se passe.

  1. Étape 1 : Retrieval (recherche)
    • La question est elle aussi vectorisee avec le même modèle d'embedding
    • On récupère dans la base vectorielle les K chunks « les plus proches » de la question (en général 3 à 10)
    • La proximité est calculee, par exemple, par similarité cosinus
  2. Étape 2 : Augmented (enrichissement)
    • Les chunks récupérés sont injectes dans le prompt comme « informations de référence »
    • Format type : « En t'appuyant sur les informations suivantes, réponds à la question : [chunks] Question : [question utilisateur] »
  3. Étape 3 : Génération
    • Le LLM (GPT-4, Claude, Gemini, etc.) généré sa réponse en se référant à ces informations
    • Au besoin, il cite explicitement les sources utilisées

Exemple concret : interroger ChatGPT sur le règlement intérieur

Pour la question « Combien de jours de conges payés ai-je ? », le flux est le suivant :

  1. La question est vectorisee : [0.12, -0.45, 0.78, ...]
  2. 3 chunks liés aux mots « conges » et « payés » sont récupérés
  3. Les chunks obtenus sont par exemple : « Article 15 -- Conges payés annuels : 10 jours octroyes après 6 mois d'anciennete... », « Jusqu'à 20 jours selon l'ancienneté... »
  4. Le prompt est construit : « Référence : article 15... Question : Combien de jours de conges payés ai-je ? »
  5. Le LLM répond : « 10 jours après 6 mois d'anciennete, jusqu'à 20 jours selon l'ancienneté (cf. article 15 du règlement intérieur) »

4. Les composants principaux du RAG

Un RAG repose sur cinq composants.

(1) Le modèle d'embedding

Un modèle d'IA qui transforme du texte en vecteur. Il est entraîné de telle sorte que « deux textes au sens proche se retrouvent voisins dans l'espace vectoriel ».

ModèleÉditeurParticularité
text-embedding-3-smallOpenAIBon rapport prix/perf, 1 536 dim.
text-embedding-3-largeOpenAIPlus précis, 3 072 dim.
voyage-3Voyage AIRecommandé par Anthropic, très précis
Cohere Embed v3CohereMultilingue, bon en français
multilingual-e5-largeMicrosoft (OSS)Local, gratuit
BGE-M3BAAI (OSS)Plus de 100 langues, top OSS

(2) La base vectorielle

Une BDD spécialisée qui stocke un grand nombre de vecteurs et permet de retrouver rapidement les « voisins ». On y revient au chapitre suivant.

(3) Le moteur de recherche (Retriever)

En plus de la recherche vectorielle, on combine souvent une recherche par mots-clés (BM25, etc.) ou une recherche hybride.

(4) Le LLM (côté génération)

Le grand modèle de langage qui produit la réponse finale : GPT-4, Claude, Gemini, Llama 3... Cela peut être une API commerciale ou un modèle OSS exécute en local.

(5) Le template de prompt

Le canevas qui combine résultats de recherche et question utilisateur avant l'envoi au LLM. C'est une pièce centrale de la qualité du RAG.

Tu es un assistant qui maitrise les regles internes.
Reponds en t'appuyant uniquement sur les informations ci-dessous.
Si la reponse ne s'y trouve pas, reponds "Information indisponible".

[Informations de reference]
{retrieved_chunks}

[Question]
{user_question}

[Reponse]

5. Qu'est-ce qu'une base vectorielle ?

Contrairement à une BDD relationnelle classique (MySQL, etc.), une base vectorielle est conçue pour retrouver rapidement les vecteurs les plus proches dans un espace de grande dimension.

Comparatif des principales bases vectorielles

BaseTypeParticularitéTarif
PineconeManagée (SaaS)Standard du marche, configuration trivialeQuota gratuit, 70 $/mois
WeaviateOSS + cloudAPI GraphQL, recherche hybrideOSS gratuit, SaaS des 25 $
QdrantOSS + cloudEn Rust, rapide, filtrage puissantOSS gratuit, SaaS quota gratuit
ChromaOSSLéger, utilisable en Python tout de suiteGratuit (auto-hébergé)
pgvectorExtension PostgreSQLS'intègre à un PostgreSQL existantGratuit (extension OSS)
MilvusOSS + cloudPour le grande échelle (milliards de vecteurs)OSS gratuit, Zilliz Cloud
ElasticsearchMoteur de rechercheRecherche vectorielle, intégration avec l'existantOSS gratuit, offre managée
Vertex AI Vector SearchGoogle CloudIntégré à l'écosystème GCPÀ l'usage

Laquelle choisir ?

  • Juste essayer : Chroma (un pip install et c'est parti)
  • Réutiliser PostgreSQL : pgvector (tout reste dans la même BDD)
  • Production avec peu d'ops : Pinecone (zéro config)
  • Production OSS sérieuse : Qdrant ou Weaviate
  • Grandes volumetries (centaines de millions à milliards) : Milvus

Pour le choix de l'hébergement, voir aussi PaaS (Vercel, etc.) vs hébergement mutualise, VPS et cloud.

6. Principaux cas d'usage

Depuis 2023, le RAG est l'une des techniques les plus adoptees en entreprise. Quelques exemples représentatifs.

Cas 1 : QA sur la documentation interne (knowledge base)

Règlement intérieur, manuels, spécifications techniques, comptes rendus, supports commerciaux : on les passe au RAG pour que les salariés puissent les interroger comme on interroge ChatGPT. Microsoft 365 Copilot fait du RAG sur les documents SharePoint.

Cas 2 : automatisation du support client

FAQ et historique de support sont mis en RAG pour automatiser le premier niveau via chatbot. Les opérateurs humains gardent les cas complexes.

Cas 3 : QA d'expertise (juridique, médical)

Bases de jurisprudence, articles médicaux, recommandations cliniques : un RAG sert d'outil quotidien aux avocats et médecins. Comme les sources sont citées, la solution colle aux domaines où la justification est obligatoire.

Cas 4 : recherche et résumé d'articles scientifiques

arXiv, PubMed, Google Scholar... On passe les bases d'articles en RAG pour répondre à « Quelles sont les tendances récentes sur ce thème ? » ou « Quels travaux similaires à la méthode XX ? ». Elicit et Perplexity sont les exemples les plus connus.

Cas 5 : recherche produit et FAQ d'e-commerce

Manuels produits, avis clients, politique de retour : on les fusionné dans un RAG. « Cet aspirateur fonctionne-t-il sur les poils d'animaux ? » devient une question naturelle à poser au site.

Cas 6 : chat de documentation pour développeurs

La documentation officielle d'une bibliothèque alimente un RAG : « Comment écrit-on cela avec AWS Lambda ? Donne-moi un exemple de code. » Stripe, Vercel, Supabase, etc. ont adopte ce schéma.

Cas 7 : recherche et explication dans une codebase interne

Le code GitHub d'un projet est mis en RAG : « Comment utiliser cette fonction ? » « Quels fichiers font un traitement similaire ? ». GitHub Copilot Chat, Cursor, Claude Code et autres outils de dev IA recourent en interne à des techniques apparentees au RAG.

Cas 8 : nouvelles optimisations IA comme llms.txt

llms.txt, qui aide les IA à citer correctement le contenu d'un site, est une mécanique très complémentaire au RAG : l'éditeur structure ce qu'il veut voir lu par les modèles.

7. RAG vs fine-tuning -- que choisir ?

Pour donner du savoir spécifique à un LLM, le fine-tuning est l'autre approche fréquemment évoquée. RAG et fine-tuning sont fondamentalement différents.

RAG vs Fine-tuning

Deux approches radicalement différentes pour donner du savoir au LLM

RAG
Récupère l'info dans une base externe au runtime
Approche
À chaque question, on cherche les passagespertinents dans une base et on les passe au LLM
Avantages
+ MAJ instantanée (modifier la base suffit)
+ Sources citables (justification claire)
+ Forte réduction des hallucinations
+ Coûts initial et d'exploitation faibles
+ Données dynamiques / temps réel possibles
Inconvénients
- Difficile pour apprendre style ou ton
- Qualité dépendante de la recherche
- Prompts longs, coût d'inférence accru
Cas d'usage adaptés
QA interne / FAQ / juridique / médical / actu
Fine-tuning
Réentraînement préalable du modèle
Approche
Constituer un grand jeu de données (Q/R)et réentraîner les poids du LLM
Avantages
+ Apprend style, ton, voix de marque
+ Prompts courts (inférence moins chère)
+ Maîtrise du vocabulaire métier
+ Modèle propriétaire exploitable
+ Inférence offline plus accessible
Inconvénients
- Nécessite beaucoup de données + GPU
- MAJ des connaissances = nouveau training
- Citation de sources difficile
Cas d'usage adaptés
Style spécifique / langage métier / inférence optimisée

Dans le doute, commencez par RAG. Les deux approches sont complémentaires.

Différences fondamentales

CritèreRAGFine-tuning
ApprocheInjecter de l'info au runtimeRéentraîner le modèle en amont
Mise à jourModifier la base (immédiat)Réentraîner (temps + coût)
Coût initialFaible (juste la base)Élevé (jeu de données + GPU)
Coût d'exploitationRecherche + appels LLMInférence seule (modèle propre)
HallucinationsFaibles (sources fournies)Moyennes (mémoire du modèle)
Citation des sourcesPossibleDifficile
Apprendre style / tonFaibleFort
Données dynamiquesFort (temps réel possible)Faible (réentraînement requis)
Données confidentiellesOn-premise faisableIdem (mais plus lourd)

Quand le RAG est préférable

  • Connaissances mises à jour souvent (actu, docs internes, catalogue produits)
  • Nécessite de citer des sources (juridique, médical, finance)
  • Volume de documents important (impossible de tout entraîner)
  • Démarrage rapide (raccourcir le temps de développement)

Quand le fine-tuning est préférable

  • Imposer un style / ton (voix de marque, personnage)
  • Apprendre des tournures spécifiques à un domaine (vocabulaire médical, style juridique)
  • Réduire le coût d'inférence (prompts plus courts)
  • Vous disposez déjà d'un grand jeu de données etiquetees

L'idéal : combiner les deux

RAG et fine-tuning ne s'opposent pas, ils se combinent. Fine-tuning pour le style, RAG pour les connaissances fraîches : c'est une combinaison qu'on retrouve souvent en production.

Pour un débutant, la règle d'or est de commencer par le RAG : c'est infiniment plus simple à construire et à opérer que le fine-tuning.

8. Implémentation -- un RAG en LangChain

Après un tour des principaux frameworks, voici un exemple minimal en Python.

Frameworks principaux

FrameworkLangageParticularité
LangChainPython / JSLe plus répandu, intégrations nombreuses
LlamaIndexPythonSpécialisé dans la connexion aux données et l'indexation
HaystackPythonEntreprise, contrôle fin
Semantic KernelC# / PythonMade by Microsoft, fort sur .NET
DSPyPythonOptimisation automatique de prompts
Implémentation maisonAu choixUn RAG simple tient en 100 lignes

Exemple minimal de RAG avec LangChain

Construisons en une trentaine de lignes un RAG qui répond à partir d'un PDF de règlement intérieur.

from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA

# 1. Charger le document
loader = PyPDFLoader("reglement.pdf")
docs = loader.load()

# 2. Decoupage en chunks
splitter = RecursiveCharacterTextSplitter(
    chunk_size=500, chunk_overlap=50
)
chunks = splitter.split_documents(docs)

# 3. Embedding + base vectorielle
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vectorstore = Chroma.from_documents(chunks, embeddings)

# 4. Chaine RAG
llm = ChatOpenAI(model="gpt-4o-mini")
qa = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=vectorstore.as_retriever(search_kwargs={"k": 3}),
    return_source_documents=True,
)

# 5. Question
result = qa.invoke({"query": "Combien de jours de conges payes ai-je ?"})
print(result["result"])
print("Sources :", [d.metadata for d in result["source_documents"]])

À l'exécution, le code va chercher les passages pertinents dans le PDF et GPT-4o-mini formule la réponse. On récupère même le numéro de page, ce qui permet de répondre « cf. article 15 » avec la source.

Pour aller en production

  • Découpage optimisé (sémantique, hiérarchique, etc.)
  • Recherche hybride (vectoriel + BM25)
  • Reranking (Cohere Rerank, voyage-rerank, etc.)
  • Reformulation des requêtes (HyDE, Multi-Query, etc.)
  • Pipeline d'évaluation (RAGAS pour évaluer automatiquement)

9. Défis du RAG et solutions

Le RAG est puissant, mais voici les obstacles classiques en production.

Défi 1 : découper les chunks

La façon de découper change radicalement la précision. Trop court, on perd le contexte ; trop long, la recherche se dégrade.

Solutions :

  • Découpage sémantique (par unités de sens)
  • Overlap (laisser un peu de chevauchement entre chunks)
  • Chunks hiérarchiques (rechercher sur les enfants, fournir le parent)

Défi 2 : la qualité de la recherche

On peut rapporter un chunk faussement proche, ou rater le bon.

Solutions :

  • Recherche hybride (vectoriel + BM25)
  • Reranking après la recherche
  • Générer plusieurs requêtes (reformulations)

Défi 3 : la fenêtre de contexte

Le LLM à un nombre maximum de tokens, on ne peut pas tout lui donner.

Solutions :

  • Limiter K (3 à 5 chunks)
  • Résumer en amont
  • Utiliser des LLM à long contexte (Claude 200k, Gemini 1M, etc.)

Défi 4 : évaluer le RAG

Mesurer objectivement la qualité des réponses est difficile. Comment construire le « gold standard » ?

Solutions :

  • Utiliser RAGAS (framework OSS d'évaluation RAG)
  • Indicateurs automatiques : précision de la réponse, pertinence, fidélité au contexte récupère
  • LLM-as-a-Judge (un autre LLM joue les correcteurs)

Défi 5 : multilingue et multimodal

Documents mêlant plusieurs langues, PDF avec images, tableaux, graphiques : la prise en charge est non triviale.

Solutions :

  • Embeddings multilingues (BGE-M3, Cohere Multilingual)
  • Pretraiter images / tableaux en texte (OCR + VLM)
  • Embeddings multimodaux (CLIP, Nomic, etc.)

10. Outils et services principaux

Récapitulatif des principaux outils utiles pour bâtir un RAG, classes par catégorie.

Frameworks et bibliothèques

  • LangChain -- le framework RAG le plus répandu
  • LlamaIndex -- spécialiste de la connexion aux données
  • Haystack -- orienté entreprise
  • DSPy -- optimisation automatique des prompts

Bases vectorielles managees

  • Pinecone -- standard du marche
  • Weaviate Cloud -- API GraphQL
  • Qdrant Cloud -- haute performance
  • Zilliz Cloud -- version managée de Milvus

Bases vectorielles OSS auto-hébergées

  • Chroma -- léger, utilisable directement en Python
  • Qdrant -- en Rust, rapide
  • Weaviate -- version OSS
  • Milvus -- pour les grosses volumetries
  • pgvector -- extension PostgreSQL

Modèles d'embedding

  • OpenAI text-embedding-3 -- la valeur sûre, peu chère
  • Voyage AI -- recommandé par Anthropic
  • Cohere Embed v3 -- multilingue
  • BGE-M3 -- excellent en OSS

Services RAG no-code / managés

  • ChatGPT Projects / Custom GPTs -- la fonction RAG d'OpenAI
  • Claude Projects -- la fonction RAG d'Anthropic
  • Notion AI -- recherche dans vos documents Notion
  • Microsoft Copilot (Microsoft 365) -- recherche transverse SharePoint / Teams
  • Dify -- plateforme OSS no-code de construction d'IA
  • Vertex AI Agent Builder -- le service RAG de Google Cloud
  • Amazon Bedrock Knowledge Bases -- le RAG managé d'AWS

Outils d'évaluation

  • RAGAS -- framework OSS d'évaluation RAG
  • TruLens -- évaluation générale d'apps LLM
  • LangSmith -- tracing et évaluation officiels LangChain

Pour approfondir le fine-tuning, lisez aussi qu'est-ce que le fine-tuning : il explique quand l'utiliser plutôt que le RAG et des méthodes comme LoRA/QLoRA, pour débutants.

FAQ

Q. Le RAG fonctionne-t-il aussi dans ChatGPT ?

Oui. Quand vous téléversez des fichiers dans « Projects » ou « Custom GPTs », du RAG tourne en interne (OpenAI parle de « File Search »). En API, on utilise l'outil File Search d'OpenAI Assistants où on construit son propre RAG (LangChain et autres). Côté Claude, la fonction « Projects » fait exactement la même chose.

Q. Combien coûte l'exploitation d'un RAG ?

Cela dépend largement de l'échelle. En personnel ou petite structure (moins de 10 000 documents, environ 1 000 requêtes / mois), Chroma + API OpenAI tient en quelques dizaines de dollars / mois. À taille moyenne (100 000 documents, 100 000 requêtes / mois) avec Pinecone + GPT-4o, comptez quelques centaines à milliers de dollars / mois. En grand compte, on peut dépasser les dizaines de milliers de dollars. Les trois postes principaux : « API d'embedding », « base vectorielle », « API LLM ».

Q. En quoi le RAG diffère-t-il du fait d'uploader des fichiers dans ChatGPT ?

Au fond, c'est la même technique de génération augmentée par recherche. L'upload ChatGPT fait déjà tourner du RAG en interne. Différences : (1) ChatGPT prend en charge un nombre limite de fichiers (Projects en supporte beaucoup plus, mais reste limite) -- un RAG maison peut viser des millions de documents ; (2) ChatGPT est une boîte noire, alors qu'un RAG maison permet de régler finement la recherche ; (3) ChatGPT vit chez OpenAI, un RAG maison peut tourner on-premise. Pour la production en entreprise, on construit en général son propre RAG.

Q. Le RAG fait-il complètement disparaître les hallucinations ?

Non, pas complètement. Avec le RAG, on peut encore se tromper si (1) aucun document pertinent n'est trouve, (2) les chunks sont mal interpretes par le LLM, (3) il y a des contradictions dans les chunks. Quelques bonnes pratiques : ajouter dans le prompt « Si l'information n'est pas dans le contexte, réponds 'Information indisponible' », exiger les sources, évaluer en continu avec RAGAS. Aucune solution n'atteint 100 % : pour le médical, le juridique ou tout usage critique, une validation humaine reste indispensable.

Q. Comment bien gérer le français ?

Trois axes : (1) choisir un embedding multilingue (OpenAI text-embedding-3, Cohere Multilingual, BGE-M3) ; (2) tenir compte de la ponctuation et des mots français lors du découpage ; (3) prendre un LLM à l'aise en français (GPT-4o, Claude, Gemini, ou modèles européens spécialisés). text-embedding-3 d'OpenAI est très correct en français, mais BGE-M3 ou Cohere offrent souvent une précision encore meilleure.

Q. Quelle différence entre RAG et agent IA ?

Le RAG est un mécanisme fixe : « rechercher, puis répondre ». Un agent est dynamique : « sélectionner et exécuter des outils en autonomie pour atteindre un objectif ». Le RAG est souvent l'un des outils dont dispose l'agent. Un agent peut combiner « recherche interne (RAG) », « recherche web », « calcul », « envoi d'email », etc. selon le contexte. On voit aussi émerger l'« Agentic RAG », ou le LLM décide lui-même de la stratégie de recherche.

Q. Côté sécurité, mes données confidentielles sont-elles protégées ?

Plusieurs mesures sont possibles : (1) héberger la base vectorielle et l'embedding en on-premise ou dans un VPC (Qdrant, pgvector auto-hébergés) ; (2) utiliser des LLM OSS exécutés en local (Llama 3, Qwen, etc.) ; (3) si vous passez par une API, signer un contrat « pas d'usage pour l'entraînement » avec OpenAI ou Azure OpenAI ; (4) ajouter des métadonnées de droits aux chunks et filtrer à la recherche. Le RAG 100 % on-premise est techniquement faisable et adopte dans la finance et la santé.

Q. Quelles compétences et combien de temps pour monter un RAG ?

Un prototype tient en quelques heures à une journée pour un développeur Python débutant (une trentaine de lignes Chroma + OpenAI). Pour un niveau production avec découpage avance, recherche hybride, reranking, évaluation : compter 1 à 3 mois. Les compétences requises : « Python de base », « usage des API LLM », « opérations BDD basiques ». Pas besoin d'expertise ML poussée : les ingénieurs logiciels prennent en main le RAG plus facilement que les data scientists.

Article rédige sur la base d'informations disponibles en avril 2026. L'écosystème RAG évolue rapidement : pensez à vérifier la documentation officielle de chaque service au moment de l'implémentation.