↓ Aller au contenu

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

·341 mots·2 mins
Pierre Dupont
Auteur
Pierre Dupont
Data Architect Freelance | Expert Modern Data Stack Open Source | 20+ ans d’XP | KISS & DRY Advocate
IA Locale - Cet article fait partie d'une série.
Partie 5: Cet article

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

IA Locale & Souveraine #5

« 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 ?
#

ContrainteChoix technique
CPU only (N100 800 MHz)TF-IDF ultra-léger, pas d’embeddings denses
Confidentialité absolueTout en local, volume modèles partagé, zéro réseau
Preuve traçableCitation doc source + score dans chaque réponse
ExtensibleSwap 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.

IA Locale - Cet article fait partie d'une série.
Partie 5: Cet article