RAG local avec Ollama sans coder (Open WebUI, AnythingLLM)
Faire du RAG local avec Ollama signifie poser des questions à un LLM auto-hébergé en lui faisant lire vos propres documents — sans envoyer une ligne au cloud. Deux outils gratuits permettent de le monter sans coder : Open WebUI (interface ChatGPT-like avec base de connaissances intégrée) et AnythingLLM (workspaces + citations). Ce guide fait le tour en 10 minutes, y compris sur une petite machine sans GPU.
#Pourquoi un RAG local avec Ollama
Un RAG (Retrieval-Augmented Generation) répond à une limite simple des LLM : ils ne connaissent que leurs données d'entraînement. Le RAG les branche sur vos documents : PDF de procédures internes, notes Markdown, exports d'emails, contrats, manuels — tout ce qui n'est ni public ni récent. Le modèle lit les passages pertinents avant de répondre, et cite ses sources si l'outil le permet.
La version cloud (ChatGPT, Claude, Gemini) impose d'uploader vos documents sur des serveurs tiers. Pour un cabinet d'avocats, un médecin, un comptable, ou même un particulier qui ne veut pas voir ses notes personnelles partir aux États-Unis, c'est rédhibitoire. Un RAG local Ollama règle ce problème : tout reste sur votre machine, et vous gardez la main sur les coûts (zéro) comme sur la confidentialité.
- Confidentialité totale
- Vos documents ne quittent jamais la machine. Aucun token n'est envoyé à un fournisseur.
- Coût marginal nul
- Pas d'abonnement, pas de quota API. Vous payez l'électricité, point.
- Offline
- Une fois le modèle téléchargé, le RAG fonctionne sans connexion internet.
- Personnalisable
- Vous choisissez le modèle de réponse, le modèle d'embeddings, les sources.
#Ollama fait-il du RAG nativement ?
Ton IA lit tes documents sans une ligne de code. Reste la vraie question : répond-elle juste ? Le kit RAG Local part de là (ch. 1), pousse Open WebUI et AnythingLLM en usage avancé (ch. 13) et t'apprend à mesurer les réponses fausses et les citations inventées (ch. 14).
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
Réponse claire : non. Ollama est un moteur d'inférence — il télécharge et exécute des LLM, expose une API OpenAI-compatible sur http://localhost:11434, mais ne sait pas indexer vos documents tout seul. Il n'a ni base vectorielle, ni découpeur de PDF, ni interface pour glisser-déposer des fichiers.
En revanche, il sait servir un modèle de génération et un modèle d'embeddings en parallèle — c'est tout ce qu'il faut pour qu'un outil tiers (Open WebUI, AnythingLLM, LangChain…) construise un RAG par-dessus. Quand on parle de RAG local Ollama, on parle donc toujours d'une combinaison Ollama + interface RAG.
#Prérequis
- Ollama installé
- Sur Windows, macOS ou Linux. Il écoute par défaut sur http://localhost:11434.
- Un modèle de réponse
- Granite 4.2 8B ou Qwen 3.5 9B en Q4_K_M. Compter ~5 à 7 Go de VRAM ou de RAM.
- Un modèle d'embeddings
- nomic-embed-text ou mxbai-embed-large. ~300 Mo. Indispensable pour vectoriser les documents.
- Docker (option Open WebUI)
- Docker Desktop sur Windows/macOS, ou docker.io sur Linux. C'est le mode d'install recommandé.
- Espace disque
- 10 Go minimum pour le modèle LLM + embeddings + l'index vectoriel de vos docs.
#1. Open WebUI : base de connaissances intégrée
Open WebUI (ex-Ollama WebUI) est l'interface ChatGPT-like la plus populaire pour Ollama. Sa fonctionnalité Knowledge (base de connaissances) permet d'uploader des documents et de les interroger par RAG, sans rien configurer côté code.
- 01Lancer Open WebUI en DockerUtilisez la commande ci-dessous lorsque Ollama tourne sur l'hôte. Dans le conteneur, host.docker.internal désigne l'hôte ; localhost désigne le conteneur lui-même. Sur Linux, l'option host-gateway fournit cette résolution, mais Ollama doit aussi écouter sur une adresse joignable depuis le pont Docker.
- 02Ouvrir l'interfaceOuvrez http://localhost:3000 et créez le premier compte administrateur. Dans les connexions administrateur, vérifiez l'URL Ollama http://host.docker.internal:11434. Si le serveur refuse la connexion sur Linux, configurez son écoute et limitez son accès aux machines et conteneurs autorisés.
- 03Créer une base de connaissancesAller dans Workspace → Knowledge → + Create a Knowledge Base. Donner un nom (ex. : 'Contrats clients'). C'est votre conteneur vectoriel.
- 04Importer ses documentsCliquer sur le + en haut à droite de la base, puis uploader vos PDF, .docx, .md, .txt. Open WebUI les découpe et calcule les embeddings en arrière-plan.
- 05Configurer le modèle d'embeddingsDans les réglages administrateur des documents, choisissez Ollama et le même modèle d'embeddings que celui qui indexera les fichiers. Vérifiez ses performances en français sur quelques questions dont vous connaissez les réponses ; un changement de modèle impose une réindexation.
- 06Interroger la baseDans un nouveau chat, taper # puis le nom de la base de connaissances pour l'attacher. Poser sa question — la réponse est générée à partir des chunks pertinents, avec des numéros de citation cliquables.
#2. AnythingLLM : workspaces et citations
AnythingLLM est l'alternative la plus aboutie à Open WebUI sur le terrain du RAG. Là où Open WebUI est généraliste, AnythingLLM est conçu autour de la notion de workspace : chaque projet a sa propre base documentaire, son propre modèle, son propre historique. Idéal quand vous voulez séparer 'Contrats clients' de 'Notes perso' de 'Documentation technique'.
- 01Installer AnythingLLMTélécharger l'installeur Desktop sur useanything.com pour Windows, macOS ou Linux. C'est une application Electron — pas de Docker requis pour la version desktop.
- 02Choisir Ollama comme LLM providerAu premier lancement, l'assistant demande quel LLM utiliser. Sélectionner Ollama, indiquer l'URL http://localhost:11434, choisir qwen3.5:9b dans la liste qui se charge automatiquement.
- 03Choisir le moteur d'embeddingsÉtape suivante : Embedder. Sélectionner Ollama, modèle nomic-embed-text. AnythingLLM peut aussi utiliser son embedder local intégré si vous n'avez pas tiré nomic-embed-text — moins bon, mais zéro config.
- 04Créer un workspaceDans la sidebar : + New Workspace. Lui donner un nom. Cliquer dessus, puis sur l'icône d'upload pour glisser vos PDF, .docx, .csv, .epub, URL ou même vidéos YouTube (transcription auto).
- 05Mover documents → workspaceAnythingLLM sépare l'ingestion (documents listés à gauche) de l'usage (workspace à droite). Sélectionner les docs, cliquer 'Move to Workspace', puis 'Save and Embed'. C'est là que les embeddings sont calculés via Ollama.
- 06Discuter avec citationsDans le workspace, poser sa question. Chaque réponse contient un panneau Citations dépliable, qui montre exactement quels chunks ont été utilisés. Très utile pour vérifier que le modèle n'a pas halluciné.
- Open WebUI
- Meilleur si vous voulez une interface ChatGPT-like généraliste, multi-utilisateurs (équipe), avec accès web. Le RAG est une feature parmi d'autres.
- AnythingLLM
- Meilleur si le RAG est l'usage principal : workspaces stricts, citations bien faites, support de plus de formats (URL, YouTube, GitHub), agents intégrés.
#3. Quel modèle d'embeddings choisir
Le modèle d'embeddings est la pièce que beaucoup ratent. C'est lui qui transforme vos documents en vecteurs — sa qualité conditionne directement la pertinence des passages retrouvés. Sur des documents français, certains modèles sont nettement meilleurs que d'autres.
- nomic-embed-text (137M, 274 Mo)
- Un modèle léger pour commencer, surtout documenté sur des données anglaises. Pour une application RAG utilisant nomic v1.5, les requêtes et documents doivent recevoir les préfixes attendus par le modèle ; vérifiez que l'interface les applique. Évaluez le rappel sur votre corpus français.
- mxbai-embed-large (335M, 670 Mo)
- Modèle principalement orienté anglais. Il pèse environ 670 Mo dans la bibliothèque Ollama, ce qui n'est pas son nombre de paramètres. Comparez sa pertinence sur vos documents plutôt que de supposer qu'il sera toujours plus précis.
- bge-m3 (567M, 1.2 Go)
- Modèle multilingue disponible directement : ollama pull bge-m3. Il n'est plus nécessaire de passer par un import manuel depuis Hugging Face pour ce parcours. Testez la qualité de recherche sur vos documents français.
- snowflake-arctic-embed
- Plusieurs versions existent avec des langues et capacités différentes. Vérifiez le modèle exact et sa fiche avant de le choisir ; le nom de famille seul ne garantit pas la prise en charge du français.
#4. RAG local sur 4 Go de RAM, sans GPU
Oui, c'est faisable. Le RAG est moins gourmand qu'on le croit : le gros du travail (embeddings) est ponctuel à l'ingestion, et à l'usage, c'est juste le LLM qui répond avec quelques milliers de tokens de contexte en plus. Sur une petite machine, l'arbitrage se fait surtout sur le LLM de réponse.
- 4 Go de RAM, CPU lent (vieux portable)
- LLM : qwen3.5:2b ou granite4.2:3b en Q4_K_M (~2 Go). Embeddings : nomic-embed-text. Réponses lentes mais lisibles (3-5 tok/s). Le contexte du LLM passe à 2048 pour rester sous le seuil RAM.
- 8 Go de RAM, CPU récent (i5/Ryzen 5)
- LLM : qwen3.5:4b Q4 (~3.4 Go) ou gemma4:e2b-it-qat. Embeddings : nomic-embed-text. ~6-10 tok/s. C'est la config 'pas mal du tout' sans GPU.
- 16 Go de RAM, sans GPU
- LLM : granite4.2:8b ou qwen3.5:9b Q4 (~5-7 Go). Embeddings : nomic ou mxbai. ~4-8 tok/s en CPU pur sur un Ryzen 7 ou i7 récent.
#Dépannage
- Le modèle 'ne voit pas' mes documents
- Vérifiez que la base de connaissances est bien attachée au chat (Open WebUI : commande #, AnythingLLM : icône workspace). Vérifiez aussi que les documents sont bien 'embedded', pas seulement uploadés.
- Réponses très lentes sur petits modèles
- Le RAG ajoute 1000 à 3000 tokens au contexte. Réduisez le top-k (3-5 chunks au lieu de 10) dans les settings RAG, et baissez le num_ctx du LLM à 2048 ou 4096.
- Hallucinations malgré les documents
- Augmentez le top-k, vérifiez que l'embedding model est bien celui qui a indexé (un changement de modèle invalide la base). Activez les citations pour voir ce que le LLM a vraiment lu.
- Open WebUI ne voit pas Ollama
- Dans Docker, gardez host.docker.internal avec --add-host=host.docker.internal:host-gateway et l'URL http://host.docker.internal:11434. Vérifiez aussi qu'Ollama écoute sur une interface accessible au conteneur. Changer ce nom en localhost ne permet pas d'atteindre le serveur de l'hôte.
- AnythingLLM se fige à l'embed
- Souvent un manque de RAM. Fermez d'autres apps, fragmentez l'import, ou passez à un modèle d'embeddings plus léger (nomic au lieu de bge-m3).
#Sources et vérification du 14 octobre 2026
Documentation officielle vérifiée le 14 octobre 2026. Les exigences peuvent évoluer : consultez ces sources avant une installation.
- Open WebUI : connecter Ollama et Docker
- Ollama : configuration réseau
- BGE-M3 dans la bibliothèque Ollama
- Nomic v1.5 : préfixes des tâches
#Pour aller plus loin
Une fois votre RAG local Ollama en place, plusieurs guides logiques pour approfondir :
- RAG local : introduction
- Le guide conceptuel qui explique ce qui se passe sous le capot (chunking, embeddings, retrieval) — utile pour comprendre pourquoi ça marche ou pas.
- Les meilleurs modèles d'embeddings FR
- Comparatif détaillé BGE, E5, Solon pour le contenu français — quand changer de nomic-embed-text.
- Open WebUI avec Ollama : guide complet
- Pour aller plus loin que le RAG sur Open WebUI : multi-utilisateurs, profils, custom prompts, pipelines.
- Faire tourner un LLM sans GPU
- Guide détaillé CPU-only avec benchmarks tokens/sec par CPU — si vous voulez optimiser votre setup RAG sans carte graphique.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.