Architecture RAG pour la documentation d'exploitation
Concevoir un assistant qui répond à partir de vos runbooks : découpage, embeddings, recherche hybride, citation des sources et évaluation.
- #mlops
- #automation
Principe
Retrieval-Augmented Generation : au lieu de demander au modèle ce qu'il « sait », on recherche d'abord les passages pertinents de vos documents, puis on lui demande de répondre uniquement à partir de ces passages, en les citant.
Question → recherche (vectorielle + mots-clés) → top-k passages → prompt + passages → LLM → réponse sourcée
Ingestion
- Nettoyer : convertir en texte, retirer les menus et pieds de page.
- Découper par structure (titres, sections de runbook) plutôt que par nombre fixe de caractères ; 300 à 800 tokens avec léger recouvrement.
- Métadonnées : titre, service, date de mise à jour, niveau de confidentialité (pour le filtrage par droits).
- Embeddings stockés dans une base vectorielle (pgvector, Qdrant…).
Recherche
- Hybride : similarité vectorielle + recherche plein texte (noms de commandes, codes d'erreur exacts).
- Filtrage par métadonnées et par droits de l'utilisateur avant la génération.
- Reclassement (re-ranking) des 20 meilleurs candidats pour n'en garder que 4 à 6.
Génération
Consignes : répondre en s'appuyant sur les extraits fournis, citer l'identifiant de chaque source, dire explicitement quand l'information est absente, ne jamais inventer de commande.
Évaluer
| Dimension | Mesure |
|---|---|
| Recherche | le bon passage est-il dans le top-k ? (rappel@k) |
| Fidélité | la réponse est-elle soutenue par les sources ? |
| Utilité | la réponse résout-elle la question ? |
Constituez un jeu de 50 à 100 questions réelles avec la réponse attendue et rejouez-le à chaque changement (découpage, modèle, prompt).
Sécurité
Injection de prompt via les documents, fuite de données entre équipes, commandes destructrices suggérées : filtrage par droits, validation humaine des actions, journalisation (voir OWASP Top 10 for LLM).