Aller au contenu
Mohamed TRIKI
Retour aux stages et projets
Couverture du projet ChatBotGC — Assistant IA pour les normes du génie civil

ChatBotGC — Assistant IA pour les normes du génie civil

  • Date : 2026
  • Intelligence artificielle
  • Terminé

Chatbot RAG qui répond aux questions sur les normes de génie civil (BAEL, Eurocode 2, DTU, NF EN) en français, anglais ou arabe, en citant le document et la page exacts.

Aperçu

Stage d’été chez AFEC (Accuracy For Exceptional Construction), bureau d’études en génie civil à Sfax, de juillet à août 2026.

ChatBotGC répond en langage naturel aux questions sur les normes de génie civil (BAEL, Eurocode 2, DTU, NF EN). Chaque réponse cite le document et la page exacts dont elle vient. On peut l’utiliser en français, en anglais ou en arabe. Il passe d’un fournisseur de LLM à l’autre parmi 6 options gratuites, et on peut ajouter ou retirer des documents sans tout réindexer.

Chiffres clés

normes indexées (5 119 passages, ~619 000 tokens)
10
normes indexées (5 119 passages, ~619 000 tokens)
fournisseurs de LLM gratuits dans la chaîne de bascule
6
fournisseurs de LLM gratuits dans la chaîne de bascule
réponse jugée incorrecte sur le banc de 50 questions
0
réponse jugée incorrecte sur le banc de 50 questions
tests d’interface réussis (Playwright)
50/50
tests d’interface réussis (Playwright)

Technologies

Problème

Les ingénieurs perdent du temps à chercher une valeur ou un article dans des centaines de pages de normes en PDF, et un LLM généraliste peut inventer des réponses. Le but était un assistant qui s’appuie uniquement sur les documents de l’entreprise et dont chaque réponse peut être vérifiée.

Solution

Un pipeline RAG de bout en bout : extraction des PDF (PyMuPDF), nettoyage par regex et découpage par article (environ 300 tokens, 50 de chevauchement) qui conserve le numéro de page imprimé et le numéro d’article ; base vectorielle ChromaDB avec des embeddings multilingual-e5-base ; recherche hybride qui reclasse 30 candidats sémantiques (65 % sémantique, 35 % lexical, bonus pour une valeur numérique exacte) et garde les 8 meilleurs ; génération via une chaîne de bascule entre 6 fournisseurs de LLM gratuits ; interface Streamlit construite en composants.

Ma contribution

Conception et réalisation de l’ensemble du système : préparation du corpus, base vectorielle, recherche hybride, génération multi-fournisseurs avec bascule, synchronisation de l’index, interface, banc d’évaluation de 50 questions avec un LLM juge, tests Playwright et documentation technique (guides développeur, utilisateur et API, rapport en LaTeX).

Résultats

Sur un banc de 50 questions noté par un LLM juge, l’application n’a jamais planté, le score moyen de confiance de la recherche atteint 0,792 et aucune réponse n’a été jugée incorrecte : quand le système échoue, il refuse de répondre au lieu d’inventer. Les recherches directes d’un article obtiennent 4,62/5. Mistral Small a répondu aux 50 questions (3,54/5) ; Groq Compound a la meilleure note (3,90/5) mais n’a répondu qu’à 29 questions à cause des limites de requêtes — un compromis entre qualité et fiabilité qui justifie la chaîne de bascule. Pistes : OCR des PDF scannés, questions croisant plusieurs documents, réponses en streaming et déploiement public.

Fonctionnalités

  • Réponses qui citent le document, la page imprimée et l’article exacts
  • Recherche hybride : 30 candidats sémantiques reclassés avec un score lexical, bonus pour une valeur numérique exacte
  • Bascule automatique entre 6 fournisseurs de LLM gratuits (Gemini, Groq, Cerebras, OpenRouter, Mistral, GitHub Models), environ 15 modèles
  • Garde-fous : citations dédupliquées et seuil de pertinence (0,35) qui signale les questions hors corpus au lieu d’inventer une réponse
  • Synchronisation incrémentale de l’index : un manifeste SHA-1 ne retraite que le PDF ajouté, modifié ou supprimé, directement depuis l’interface
  • Interface Streamlit : plusieurs conversations, thèmes clair et sombre, FR/EN/AR avec l’arabe de droite à gauche, cartes sources avec la pertinence, adaptée au mobile, identité visuelle d’AFEC