Zakaria Gafaoui AI Tech Lead & Solutions Architect — from MVP to enterprise production
Available Full map
EN FR
CV (EN) Ask my CV
Lens
  • Identity1
  • Missions10
  • Deep dive14
  • Skill5
  • Product2
  • Note3

Hover a node to reveal its second ring. Click to recentre the map on it.

Deep dive

How I built a RAG at industrial-group scale

Brouillon Alstom 2 j priority P1

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.

    SourcesRAG e2eAlstom

  • 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