S'appuyant sur les données réelles de ventes de pièces de rechange des concessionnaires Caterpillar fournies par Tractafric Equipment le même réseau de concessionnaires que celui sur lequel repose mon projet d'automatisation des processus financiers , ce projet vise à déterminer si un responsable commercial peut interroger directement ces données sans avoir à créer de tableau croisé dynamique. Un backend FastAPI transforme une question en langage naturel en une requête SQL unique en lecture seule, exécutée via un modèle Ollama local (sans API cloud) et vérifiée par une couche de sécurité à deux niveaux un filtre de sécurité basé sur sqlglot et un linter sémantique avant même qu’elle n’atteigne l’entrepôt de données DuckDB de 3,1 millions de lignes. Le véritable défi technique ne résidait pas dans l’interrogation du LLM, mais dans les données elles-mêmes : cinq pièges avérés qui font que le « SQL « évidente » soit manifestement erronée sans générer d’erreur, notamment une colonne de cumul progressif par ligne qui surestime le chiffre d’affaires de 6,4 fois si l’on effectue une somme naïve, une table de reporting vide à 83 % où COUNT(*) ne correspond pas au nombre de transactions, trois années de données tronquées en silence à exactement 1 000 000 de lignes et de manière inégale selon les pays, ainsi qu’une information géographique encodée uniquement dans une chaîne de caractères en français correspondant au code du concessionnaire. Chaque réponse est renvoyée en temps réel avec son code SQL exact, une explication commentée et des mises en garde automatiquement ajoutées dès que la requête touche à des données non fiables, ainsi qu’une exportation en un clic vers CSV, Markdown, HTML, Excel ou PDF, des graphiques générés automatiquement et un onglet d’exploration des données en libre-service. Une matrice d’évaluation à 14 configurations : 6 modèles locaux multipliés par l’activation ou la désactivation du raisonnement, plus 2 modèles de référence, y compris des cas adversaires qui doivent être rejetés d’emblée, évaluant la précision, la latence et l’exactitude afin de recommander le meilleur modèle pour le matériel sur lequel il s’exécute.
Chatbot interactif Gradio combinant LLaMA 3.1 et des graphes de connaissances Neo4j avec RAG pour des réponses précises en langage naturel.
Application web en microservices en production (Django + ReactJS) automatisant le calcul des aides et la génération des réclamations, réduisant un processus de plusieurs jours à quelques minutes.
Agent hors ligne qui transforme des questions en français, anglais ou arabe en requêtes SQL vérifiées sur une base de 117 000 réclamations de support Caterpillar, validé à 87 % de précision d'exécution sur un benchmark de 100 questions en 3 langues.