Vous avez entendu le pitch : « branchons ChatGPT sur nos données et regardons la magie opérer ». Sauf que les données en question contiennent des secrets industriels, des données clients RGPD et des stratégies pas encore annoncées. Les envoyer vers l’API d’un LLM public, c’est exactement le genre de fuite que le DSI est censé empêcher.
La Retrieval-Augmented Generation (RAG) privée résout ce dilemme : votre LLM accède à vos données en toute confidentialité, sur votre infrastructure, sans fuite vers l’extérieur. Ce guide vous explique comment.
Le problème : vos données + l’IA publique = fuite
Ce qui se passe avec les API publiques
Quand vous envoyez une question à ChatGPT, Claude ou Gemini :
- Vos données transitent vers les serveurs du fournisseur
- Elles peuvent être utilisées pour entraîner de futurs modèles (selon les CGU)
- Elles sont stockées pendant 30 jours minimum (politique OpenAI)
- Vous perdez le contrôle sur la chaîne de gouvernance des données
Pour une entreprise réglementée (banque, santé, secteur public), c’est un non-Go réglementaire. RGPD, NIS2 et le secteur bancaire exigent que les données sensibles restent sous contrôle.
La solution : RAG privé
Le RAG privé combine :
- Un LLM hébergé localement (votre cloud privé, votre souveraineté)
- Une base de connaissances indexée (vos documents internes)
- Un processus de récupération (le LLM ne voit que les documents pertinents, pas toutes vos données)
- Une interface de chat (Open WebUI ou API interne)
Le résultat : les réponses sont générées à partir de vos données, sur votre infrastructure, sans aucune fuite.
Architecture RAG privée : vue d’ensemble
┌─────────────────────────────────────────────────────┐
│ OPEN WEBUI │
│ (Interface de chat, API, auth) │
└────────────────┬────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────┐
│ vLLM │
│ (Inférence LLM — Llama 3, Mistral, etc.) │
└────────────────┬────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────┐
│ EMBEDDING + RETRIEVAL │
│ (ChromaDB / Qdrant +sentence-transformers) │
└────────────────┬────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────┐
│ BASE DE CONNAISSANCES │
│ (Documents indexés, Vector DB, Métadonnées) │
└────────────────┬────────────────────────────────────┘
│
┌────────────────▼────────────────────────────────────┐
│ PIPELINE D'INDEXATION │
│ (Unstructured → chunks → embeddings → ChromaDB) │
└─────────────────────────────────────────────────────┘
Les composants en détail
| Composant | Outil | Rôle |
|---|---|---|
| Interface | Open WebUI | Chat, API, gestion des conversations |
| LLM | vLLM | Inférence optimisée sur GPU |
| Modèle | Llama 3.1 8B / Mistral 7B | Génération de texte en français |
| Embeddings | sentence-transformers | Vectorisation des documents |
| Vector DB | ChromaDB / Qdrant | Stockage et recherche sémantique |
| Parsing | Unstructured | Extraction de texte (PDF, DOCX, HTML, Markdown) |
| Orchestration | LangChain / LlamaIndex | Pipeline RAG complet |
| Infrastructure | OpenNebula | Cloud privé, GPU, VM |
Les 4 étapes du RAG
Étape 1 : Indexation — préparer vos connaissances
Le RAG commence par découper et vectoriser vos documents :
- Collecte : PDF internes, wikis, bases de connaissances, tickets, emails
- Parsing : extraction du texte brut (Unstructured gère les PDF, DOCX, HTML, Markdown)
- Chunking : découpage en segments de 500-1000 tokens avec chevauchement
- Embedding : vectorisation avec un modèle embedding (multilingual-e5-large pour le français)
- Stockage : insertion dans ChromaDB avec métadonnées (source, département, date)
Règle critique : le chunking est l’étape qui détermine la qualité du RAG. Trop petit = pas de contexte. Trop grand = bruit. 500 tokens avec 100 tokens de chevauchement est un bon point de départ.
Étape 2 : Retrieval — trouver les bons documents
Quand un utilisateur pose une question :
- Embedding de la question : vectoriser la requête avec le même modèle
- Recherche sémantique : trouver les k chunks les plus pertinents dans ChromaDB
- Filtrage : appliquer les permissions (l’utilisateur ne voit que les documents auxquels il a accès)
- Re-ranking : optionnellement, réordonner par pertinence avec un cross-encoder
k = 5 à 10 est généralement optimal. Trop de context pollue la réponse ; trop peu manque des informations.
Étape 3 : Generation — le LLM répond
Le prompt envoyé au LLM combine :
[Système] Tu es un assistant expert. Réponds uniquement à partir
des documents fournis. Si la réponse n'est pas dans les documents,
dis-le.
[Contexte]
{chunk_1}
{chunk_2}
{chunk_3}
...
[Question]
{question_de_l_utilisateur}
Point clé : le LLM ne voit que les chunks récupérés, pas l’intégralité de votre base de connaissances. C’est le « R » du RAG.
Étape 4 : Interface — l’utilisateur interagit
Open WebUI fournit :
- Chat : interface type ChatGPT pour les utilisateurs
- API : endpoint REST pour l’intégration dans vos applications
- Gestion des modèles :切换 entre modèles selon les besoins
- Historique : conversations sauvegardées, reprises
- Authentification : SSO SAML/OIDC intégré
Les 5 défis du RAG privé (et comment les résoudre)
Défi 1 : La qualité des réponses
Les hallucinations du LLM sont le risque n°1. Le modèle peut inventer des informations qui ne sont pas dans les documents.
Solutions :
- Prompting strict : « Réponds uniquement à partir des documents fournis. Si la réponse n’est pas dans les documents, dis-le. »
- Citations : le modèle doit citer le document et la section qu’il utilise
- Température basse : 0.1-0.3 pour les réponses factuelles (pas de créativité)
- Évaluation : mesurer la fidélité (faithfulness) avec des benchmarks
Défi 2 : Les permissions d’accès
Dans une entreprise, tout le monde n’a pas accès à tous les documents. Le DAF ne doit pas voir les notes RH.
Solutions :
- Métadonnées par département : chaque chunk est taggé avec son périmètre d’accès
- Filtrage au retrieval : ChromaDB ne retourne que les chunks que l’utilisateur est autorisé à voir
- SSO avec groupes : Open WebUI synchronise les groupes depuis Keycloak/OIDC
Défi 3 : Les mises à jour de la base de connaissances
Les documents changent, sont ajoutés, sont obsolètes. La base doit rester à jour.
Solutions :
- Indexation incrémentale : ajouter les nouveaux documents sans réindexer toute la base
- Pipeline CI/CD : chaque mise à jour de document déclenche une réindexation automatique
- Suppression : marquer les documents obsolètes et les retirer de l’index
Défi 4 : Le français
La plupart des modèles sont entraînés principalement en anglais. Le RAG en français exige un modèle qui comprend et génère correctement le français.
Solutions :
- Modèles multilingues : Llama 3.1 et Mistral gèrent bien le français
- Modèle d’embedding multilingue : multilingual-e5-large ou multilingual-e5-base
- Prompt en français : les instructions système en français améliorent la cohérence
Défi 5 : Les performances
Un LLM sur GPU n’est pas instantané. Le temps de réponse dépend du modèle, du GPU et de la longueur du contexte.
Solutions :
- vLLM : inférence optimisée avec PagedAttention (3-5x plus rapide que Hugging Face)
- Modèle adapté : Llama 3.1 8B suffit pour le RAG (pas besoin de 70B)
- GPU dédié : un NVIDIA A30 ou L4 (24 Go VRAM) suffit pour la plupart des cas
- Cache de contexte : les questions similaires bénéficient du cache KV
RAG privé et conformité réglementaire
RGPD : données personnelles sous contrôle
Le RAG privé est la réponse RGPD à l’IA :
- Pas de transfert de données : le LLM tourne sur votre infrastructure, pas sur l’API d’un tiers
- Minimisation : le LLM ne voit que les chunks pertinents, pas l’intégralité de vos données
- Droit à l’oubli : supprimer un document de ChromaDB le retire immédiatement des résultats
- Audit trail : chaque question et réponse est journalisée
NIS2 : gestion des risques ICT
NIS2 exige une évaluation des risques liés aux services tiers. Avec le RAG privé :
- Pas de tiers : le LLM est sur votre infrastructure
- Pas de fuite : les données ne sortent jamais
- Gouvernance : vous contrôlez le modèle, les versions, les mises à jour
IA Act : transparence et supervision
L’IA Act européen exige la transparence des systèmes d’IA. Le RAG privé facilite la conformité :
- Documentation : le modèle utilisé, les données indexées, les prompts sont entièrement documentables
- Traçabilité : chaque réponse cite ses sources (les chunks récupérés)
- Supervision humaine : Open WebUI permet la revue des réponses par les métiers
Déploiement : la stack Cloud Inspire en 10 jours
| Jour | Action | Livrable |
|---|---|---|
| J1-2 | Provisionnement GPU + OpenNebula | Infrastructure prête |
| J3-4 | Installation vLLM + modèle Llama 3.1 8B | LLM opérationnel |
| J5-6 | Open WebUI + authentification SSO | Interface accessible |
| J7-8 | Pipeline d’indexation + ChromaDB | Base de connaissances indexée |
| J9-10 | Optimisation RAG (chunking, prompt, permissions) | RAG fonctionnel et testé |
Matériel nécessaire
| Taille d’entreprise | GPU | Modèle | Coût estimé |
|---|---|---|---|
| < 100 employés | 1x NVIDIA L4 (24 Go) | Llama 3.1 8B | ~3 K€ |
| 100-500 employés | 1x NVIDIA A30 (24 Go) | Llama 3.1 8B + reranker | ~5 K€ |
| 500+ employés | 2x NVIDIA A100 (80 Go) | Llama 3.1 70B | ~20 K€ |
ROI du RAG privé : les chiffres
| Métrique | API publique | RAG privé | Gain |
|---|---|---|---|
| Coût par requête | 0,03 € | 0,001 € | -97 % |
| Confidentialité des données | ❌ Transférées | ✅ Aucune fuite | ✅ |
| Personnalisation | Limite | Illimitée | ✅ |
| Latence (1er token) | 500 ms | 200 ms | -60 % |
| Dépendance fournisseur | ✅ Complet | ❌ Aucun | ✅ |
| RGPD | ⚠️ Conformité partielle | ✅ Conforme | ✅ |
| Coût annuel (10K req/jour) | 110 K€ | 15 K€ | -86 % |
Break-even : 6-12 mois selon le volume de requêtes.
Cas d’usage concrets
Knowledge base interne
Le DSI indexe les procédures IT, les wikis techniques et les rapports d’incident. Les équipes ops peuvent poser des questions en langage naturel et obtenir des réponses sourcées.
Avant : « Où est la.procédure de restauration de la base de prod ? Je ne la trouve pas dans le wiki. »
Après : « Comment restaurer la base de production ? » → réponse avec la procédure, le runbook et les contacts.
Support client
Le support indexe les FAQs, les tickets résolus et la documentation produit. Les agents obtiennent des réponses instantanées avec les sources.
Avant : 15 min de recherche dans Confluence pour répondre à une question client.
Après : 30 sec pour obtenir une réponse sourcée et validée.
Conformité et audit
L’audit indexe les politiques, les rapports de conformité et les textes réglementaires. Les DSI et RSSI peuvent interroger le RAG pour trouver la réponse réglementaire à une question.
Avant : 2h de recherche dans NIS2, DORA et les politiques internes.
Après : 2 min pour obtenir la réponse avec les références exactes.
Conclusion
Le RAG privé n’est pas une expérimentation — c’est le déploiement pragmatique de l’IA en entreprise. Il répond à la triple exigence de performance (réponses instantanées sur vos données), de confidentialité (aucune fuite vers l’extérieur) et de conformité (RGPD, NIS2, IA Act).
La stack est 100 % open source, déployable en 10 jours, et économise 70 à 86 % par rapport aux API publiques. Le seul prérequis : un GPU et des données à indexées.
Cloud Inspire déploie le RAG privé complet en 10 jours : infrastructure GPU + LLM + vectorisation + interface + authentification. Si vous voulez que l’IA travaille sur vos données sans les fuiter, parlons-en.