How I built a RAG at industrial-group scale
Context & constraints
Corpus documentaire d'entreprise, multilingue, réparti sur des sources héritées. Gouvernance forte : un point d'entrée unique, des accès cloisonnés. Utilisateurs non techniques, qui jugent une réponse en trois secondes.
Options considered
- Une offre RAG clés en main : rapide à démarrer, mais son découpage et son stockage s'imposent à vous
- Un pipeline interne complet — embeddings, indexation, base vectorielle, reranking : plus coûteux, entièrement maîtrisé
- Recherche plein texte seule : simple, mais inopérante sur les reformulations métier
The decision
Pipeline interne complet, avec reranking devant la génération
RationaleSur de la documentation normative, le découpage est là où se joue la justesse — le déléguer, c'est déléguer la qualité des réponses.
Accepted consequenceUn vrai chantier d'ingénierie, et la responsabilité pleine de la qualité de bout en bout.
Implementation
# découpage : on coupe sur la structure du document, pas tous les N caractères
chunks = split_by_headings(doc, max_tokens=700, overlap=80)
for c in chunks:
c.meta |= {"doc_id": doc.id, "rev": doc.revision, "lang": doc.lang}
await store.upsert(embed(chunks)) # index vectoriel + filtre sur la révision What broke
Le premier découpage à taille fixe coupait les tableaux de procédure en deux : le modèle répondait avec la moitié d'un tableau — faux, mais bien formé. Deuxième incident : deux révisions d'un même document coexistaient dans l'index et le système citait l'ancienne. La révision est devenue une métadonnée filtrante, pas un champ d'affichage.
The outcome
- Réponses systématiquement sourcées, avec lien vers le document et sa révision
- Taux de non-réponse assumé et mesuré plutôt que masqué
What I would do differently
Je poserais l'évaluation avant l'ingestion. Le jeu de questions de référence a été construit après coup, ce qui a rendu les premières semaines d'optimisation invérifiables : on améliorait au ressenti.
Extended universe
Related questions
Comment as-tu construit le pipeline RAG chez Alstom, de bout en bout ?
De zéro : ingestion depuis des sources documentaires héritées, découpage sur la structure du document plutôt qu'à taille fixe, embeddings, indexation vectorielle, reranking, puis génération avec citation obligatoire. Le point qui a le plus compté n'est pas le modèle, c'est la métadonnée de révision : deux versions d'une même procédure coexistaient dans l'index et le système citait l'ancienne. La révision est devenue un filtre, pas un champ d'affichage.
Quelle est ta plus grosse erreur professionnelle ?
Avoir optimisé un pipeline RAG plusieurs semaines sans jeu de questions de référence. Les gains étaient réels par moments, invérifiables tout le temps, et impossibles à défendre en comité. Depuis, le jeu d'évaluation est le premier livrable, avant l'ingestion.
SourcesÉvaluer un RAGRAG e2e