IA Locale & Souveraine #5 : RAG 100 % local avec preuve d’origine — Vos docs confidentiels ne quittent jamais la machine#

« Mon LLM répond juste, mais comment je prouve qu’il a lu mes docs et pas sa mémoire d’entraînement ? » Ce tuto répond par la démo : on injecte des infos uniques, arbitraires, impossibles à deviner (clé ZEUS-CRYPTO-99X, mot de passe Coffee-Wifi-77!, préavis 42 jours). Si le modèle les ressort → preuve irréfutable que le RAG fonctionne.
Ce que fait ce tuto (en 20 min)#
- 3 docs Markdown métier (procédure serveur, politique congés 2026, Wi-Fi visiteurs) — données inventées, donc inconnues du modèle.
- Indexation TF-IDF + similarité cosinus (scikit-learn, ~ms sur N100) — pas d’embeddings lourds, pas de GPU.
- Pipeline RAG complet : Retrieval (top-1) → Injection contexte → Génération (Qwen2.5-3B,
temperature=0). - 3 questions test → réponses avec citation du doc source + score de pertinence.
- Optionnel : swap TF-IDF →
sentence-transformers(MiniLM) pour recherche sémantique plus fine (exercice).
Preuve d’origine en action#
❓ Question : Quelle est la clé de chiffrement du serveur ZEUS ?
🔍 Document trouvé : serveur_zeus.md (score 0.61)
💡 Réponse : D'après le document serveur_zeus.md, la clé de chiffrement maître est `ZEUS-CRYPTO-99X`...Le modèle n’aurait jamais pu deviner ZEUS-CRYPTO-99X ni Coffee-Wifi-77! ni 42 jours. S’il les sort, c’est qu’il a lu le doc. Point.
Pourquoi cette architecture ?#
| Contrainte | Choix technique |
|---|---|
| CPU only (N100 800 MHz) | TF-IDF ultra-léger, pas d’embeddings denses |
| Confidentialité absolue | Tout en local, volume modèles partagé, zéro réseau |
| Preuve traçable | Citation doc source + score dans chaque réponse |
| Extensible | Swap TF-IDF → embeddings denses en 10 lignes (exercice) |
Pour qui ?#
Équipes juristes, compliance, IT, Data qui doivent interroger des docs internes sensibles (contrats, procédures, mots de passe, politiques) sans les envoyer chez OpenAI/Mistral/Anthropic.
Accès au code complet#
👉 Tutoriel pas à pas (GitHub) : 05-rag/docs/tutoriel.md
Prochain épisode : MCP (Model Context Protocol) — on expose des outils métier (stock, météo) via un serveur standard, et le LLM les appelle autonomement en function calling.
