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 ?
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
- Llama 3.1 8B, Mistral 7B, Qwen 2.5 7B en Q4_K_M. Compter ~5 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 DockerDans un terminal : docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main. Sur Linux natif, remplacer host.docker.internal par localhost si vous lancez Ollama hors Docker.
- 02Ouvrir l'interfaceAller sur http://localhost:3000. Créer un compte admin (le premier compte est admin par défaut). Open WebUI détecte automatiquement Ollama sur localhost:11434.
- 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'embeddingsSettings (admin) → Documents → Embedding Model Engine = Ollama, Embedding Model = nomic-embed-text. Sauvegarder. Sans ça, Open WebUI utilise un modèle par défaut moins adapté au français.
- 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 llama3.1:8b 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)
- Le défaut recommandé. Rapide, multilingue correct, contexte 8192 tokens. Très bon compromis pour commencer. Disponible directement : ollama pull nomic-embed-text.
- mxbai-embed-large (335M, 670 Mo)
- Plus précis que nomic, légèrement plus lent. Anglais surtout, mais tient le français pour des documents standards. À privilégier si la qualité prime sur la vitesse. ollama pull mxbai-embed-large.
- bge-m3 (567M, 1.2 Go)
- Excellent en multilingue (100+ langues, dont français natif), contexte 8192. Plus lourd. Disponible sur Hugging Face, importable dans Ollama via Modelfile.
- snowflake-arctic-embed
- Bon multilingue, plus léger que bge-m3. Bonne alternative si bge-m3 est trop lourd.
#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 : qwen2.5:1.5b ou llama3.2:1b en Q4_K_M (~1 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 : llama3.2:3b ou phi-3.5-mini Q4 (~2.5 Go). 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 : llama3.1:8b ou mistral:7b Q4 (~5 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
- Sur Docker, utilisez --add-host=host.docker.internal:host-gateway, puis dans Settings → Connections, mettez http://host.docker.internal:11434 comme URL Ollama.
- 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).
#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.