RAG local avec Ollama : donnez une mémoire à votre IA
Guide complet 2026 avec démo interactive
« Imaginez un étudiant qui passe un examen. Sans RAG, c'est un examen à livre fermé — l'IA ne sait que ce qu'elle a mémorisé. Avec RAG, c'est un examen à livre ouvert — l'IA consulte vos documents avant de répondre. La différence est énorme. »
Le RAG (Retrieval Augmented Generation) est la technique la plus puissante pour donner à une IA locale accès à vos propres documents. Vos PDF, vos notes, votre code, vos mails — tout devient interrogeable en langage naturel. Et le meilleur : tout reste sur votre machine. Zéro donnée envoyée dans le cloud.
Dans ce guide, nous allons construire un système RAG complet en 5 étapes, avec Ollama pour le LLM, ChromaDB pour la base vectorielle, et LangChain pour orchestrer le tout. Chaque étape est accompagnée de code Python fonctionnel que vous pouvez copier-coller.
Testez notre démo interactive plus bas pour voir le RAG en action avant même de coder quoi que ce soit.
📚 Qu'est-ce que le RAG ?
RAG signifie Retrieval Augmented Generation — en français, "génération augmentée par la recherche". L'idée est simple : au lieu de demander à l'IA de tout savoir par cœur, on lui donne accès à une base de documents qu'elle peut consulter avant de répondre.
- • L'IA ne connaît que ses données d'entraînement
- • Impossible de répondre sur vos documents privés
- • Hallucinations fréquentes sur les sujets spécifiques
- • Données figées à la date de coupure
- • L'IA consulte vos documents avant de répondre
- • Réponses précises et sourcées
- • Réduction massive des hallucinations
- • Toujours à jour (vos documents évoluent)
⚙️ Architecture d'un système RAG
Voici le pipeline complet, de vos documents bruts jusqu'à la réponse de l'IA :
Vos documents sont découpés en morceaux (chunks), convertis en vecteurs numériques (embeddings) et stockés dans une base de données vectorielle.
Votre question est convertie en vecteur, les chunks les plus proches sont retrouvés, puis envoyés au LLM avec la question pour générer une réponse contextuelle.
🛠️ Étape 1 : Installer Ollama + modèles
Nous avons besoin de deux modèles : un LLM pour générer les réponses et un modèle d'embedding pour convertir le texte en vecteurs. Consultez notre guide d'installation Ollama si ce n'est pas encore fait.
💡 nomic-embed-text est le meilleur modèle d'embedding gratuit pour Ollama en 2026. Il gère très bien le français et ne consomme que ~270 Mo de VRAM. Pour un comparatif détaillé, voir notre article sur le meilleur modèle pour le RAG.
🗃 Étape 2 : Installer ChromaDB
ChromaDB est une base de données vectorielle légère, parfaite pour débuter. Elle stocke vos embeddings et permet de retrouver les passages les plus pertinents en quelques millisecondes.
ChromaDB fonctionne en mode embarqué (pas besoin de serveur séparé). Les données sont stockées localement sur votre SSD. Pour des collections massives (100k+ documents), un SSD NVMe rapide est recommandé.
📄 Étape 3 : Charger vos documents
LangChain fournit des loaders pour tous les formats courants. Voici comment charger un dossier contenant des PDF, fichiers texte, Markdown et code source :
💡 Astuce : pour le code source (Python, JavaScript, etc.), utilisez TextLoader avec les extensions .py, .js, .ts. Le RAG fonctionne aussi pour interroger votre codebase !
✂ Étape 4 : Découper, vectoriser, stocker
C'est l'étape clé : chaque document est découpé en morceaux (chunks), chaque chunk est converti en vecteur numérique (embedding), puis stocké dans ChromaDB.
💡 Optimiser les paramètres de chunking
| Paramètre | Valeur | Explication |
|---|---|---|
| chunk_size | 500-1500 | Trop petit = contexte perdu. Trop grand = bruit dans les résultats. 1000 est un bon défaut. |
| chunk_overlap | 100-300 | Le chevauchement évite de couper une idée en deux. 20% du chunk_size est idéal. |
| top_k | 3-5 | Nombre de chunks retournés par requête. 3 est suffisant, 5 pour plus de contexte. |
🔍 Étape 5 : Interroger vos documents
Tout est en place. Voici le code final pour poser une question et obtenir une réponse contextuelle :
Et voilà ! Votre IA locale peut maintenant répondre à n'importe quelle question en se basant sur vos propres documents. Pas de cloud, pas d'abonnement, pas de fuite de données. Tout reste sur votre machine.
🎮 Démo interactive : RAG en action
Tapez une question ci-dessous et observez le processus RAG en temps réel : recherche dans les documents, récupération des passages pertinents, puis génération de la réponse.
Simulateur RAG local
⚡ Conseils de performance
ChromaDB stocke les embeddings sur disque. Un SSD NVMe rapide réduit le temps de recherche de 5x par rapport à un HDD. Pour 100k+ documents, c'est indispensable.
SSD NVMe 2 To sur Amazon →ChromaDB charge les index en mémoire. 16 Go suffisent pour 10k documents, 32 Go pour 50k+, 64 Go pour des collections massives.
RAM 32 Go DDR5 sur Amazon →Le LLM tourne sur GPU. 8 Go VRAM = modèles 7B. 12 Go = 7B confortablement. 24 Go = modèles 13B-22B pour des réponses plus précises.
RTX 4070 Ti Super sur Amazon →Règle empirique : chunk_size = 1000 pour du texte général, 500 pour du code, 1500 pour des documents juridiques. Testez et ajustez !
💻 Matériel requis pour le RAG local
Voici les configurations recommandées selon votre volume de documents. Vérifiez aussi si votre PC actuel peut faire tourner l'IA locale.
| Composant | Minimum | Recommandé | Optimal |
|---|---|---|---|
| GPU | RTX 3060 12 Go | RTX 4070 Ti Super | RTX 4090 24 Go |
| RAM | 16 Go | 32 Go DDR5 | 64 Go DDR5 |
| SSD | SSD SATA 500 Go | NVMe 1 To | NVMe Gen4 2 To |
| Documents | ~100 fichiers | ~10 000 fichiers | 100 000+ fichiers |
16 Go VRAM — modèles 7B-13B fluides. Embedding + LLM en parallèle.
7 450 Mo/s en lecture — les requêtes ChromaDB volent.
💡 Pas de GPU ? Consultez notre guide upgrade IA pour assembler un PC optimisé RAG à partir de 800 €. Vous pouvez aussi tester si votre PC actuel est compatible.