Sommaire
- 1. Le RAG, c'est quoi ? -- Retrieval-Augmented Génération
- 2. Pourquoi en a-t-on besoin ? -- les 3 limites du LLM seul
- 3. Fonctionnement -- le RAG en 3 étapes
- 4. Les composants principaux du RAG
- 5. Qu'est-ce qu'une base vectorielle ?
- 6. Principaux cas d'usage
- 7. RAG vs fine-tuning -- que choisir ?
- 8. Implémentation -- un RAG en LangChain
- 9. Défis du RAG et solutions
- 10. Outils et services principaux
- FAQ
« 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
Chroma / pgvector
Gemini / Llama
Manuels / FAQ
Articles / actualités
↓ Transmis au LLM
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 »
| Mot | Sens | Rôle dans un RAG |
|---|---|---|
| Retrieval | Recherche / récupération | Aller chercher dans la base les documents liés à la question |
| Augmented | Augmentation / enrichissement | Ajouter ces documents au prompt envoyé au LLM |
| Génération | Génération | Le 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 de préparation -- vectoriser les documents
- Collecter les documents : PDF, Word, HTML, Markdown, etc.
- Découpage en chunks : couper en morceaux (par exemple 500 a 1 000 caractères)
- 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)
- 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.
- É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
- É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] »
- É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 :
- La question est vectorisee : [0.12, -0.45, 0.78, ...]
- 3 chunks liés aux mots « conges » et « payés » sont récupérés
- 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é... »
- Le prompt est construit : « Référence : article 15... Question : Combien de jours de conges payés ai-je ? »
- 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 | Éditeur | Particularité |
|---|---|---|
| text-embedding-3-small | OpenAI | Bon rapport prix/perf, 1 536 dim. |
| text-embedding-3-large | OpenAI | Plus précis, 3 072 dim. |
| voyage-3 | Voyage AI | Recommandé par Anthropic, très précis |
| Cohere Embed v3 | Cohere | Multilingue, bon en français |
| multilingual-e5-large | Microsoft (OSS) | Local, gratuit |
| BGE-M3 | BAAI (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
| Base | Type | Particularité | Tarif |
|---|---|---|---|
| Pinecone | Managée (SaaS) | Standard du marche, configuration triviale | Quota gratuit, 70 $/mois |
| Weaviate | OSS + cloud | API GraphQL, recherche hybride | OSS gratuit, SaaS des 25 $ |
| Qdrant | OSS + cloud | En Rust, rapide, filtrage puissant | OSS gratuit, SaaS quota gratuit |
| Chroma | OSS | Léger, utilisable en Python tout de suite | Gratuit (auto-hébergé) |
| pgvector | Extension PostgreSQL | S'intègre à un PostgreSQL existant | Gratuit (extension OSS) |
| Milvus | OSS + cloud | Pour le grande échelle (milliards de vecteurs) | OSS gratuit, Zilliz Cloud |
| Elasticsearch | Moteur de recherche | Recherche vectorielle, intégration avec l'existant | OSS gratuit, offre managée |
| Vertex AI Vector Search | Google Cloud | Inté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
Dans le doute, commencez par RAG. Les deux approches sont complémentaires.
Différences fondamentales
| Critère | RAG | Fine-tuning |
|---|---|---|
| Approche | Injecter de l'info au runtime | Réentraîner le modèle en amont |
| Mise à jour | Modifier la base (immédiat) | Réentraîner (temps + coût) |
| Coût initial | Faible (juste la base) | Élevé (jeu de données + GPU) |
| Coût d'exploitation | Recherche + appels LLM | Inférence seule (modèle propre) |
| Hallucinations | Faibles (sources fournies) | Moyennes (mémoire du modèle) |
| Citation des sources | Possible | Difficile |
| Apprendre style / ton | Faible | Fort |
| Données dynamiques | Fort (temps réel possible) | Faible (réentraînement requis) |
| Données confidentielles | On-premise faisable | Idem (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
| Framework | Langage | Particularité |
|---|---|---|
| LangChain | Python / JS | Le plus répandu, intégrations nombreuses |
| LlamaIndex | Python | Spécialisé dans la connexion aux données et l'indexation |
| Haystack | Python | Entreprise, contrôle fin |
| Semantic Kernel | C# / Python | Made by Microsoft, fort sur .NET |
| DSPy | Python | Optimisation automatique de prompts |
| Implémentation maison | Au choix | Un 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.