
Photo de Alberto Rodríguez sur Unsplash
Réalisation d’ingénierie
Détection de fraude par machine learning dans la chaîne logistique
Signaler les cas de fraude probables dans les données d’expédition d’un groupe logistique international, à l’aide d’un modèle de machine learning exposé par une API.
Le projet
Pour un groupe logistique international, un modèle de machine learning évalue les expéditions afin de signaler les cas de fraude probables. Les données d’expédition stockées dans Teradata, des fichiers consolidés et des référentiels métier alimentent des variables préparées en amont, dont des références de comptes et d’adresses. Le service expose deux endpoints REST, /train et /predict. FastAPI reçoit les requêtes, Redis conserve la matrice de variables explicatives (features) et les résultats repartent en JSON vers les règles métier, le traitement des exceptions et les alertes.
Approche technique
La gestion des requêtes, l’accès aux données Redis et les calculs du modèle sont séparés. Les appels à Redis utilisent des entrées-sorties asynchrones. L’entraînement et la prédiction s’exécutent dans des threads. La vue d’ensemble distingue le périmètre de l’API des fonctions de la plateforme qui l’entourent. Le réentraînement hebdomadaire et l’évaluation des résultats appartiennent au cycle du modèle, les règles métier et les alertes au traitement opérationnel.
Résultat
Un service de détection de fraude conteneurisé, intégré au flux de production logistique. Les applications envoient leurs requêtes à l’API et reçoivent en JSON les résultats du modèle, que les règles métier orientent vers la validation, le traitement des exceptions ou les alertes.
Mon intervention
- Développement des routes FastAPI /train et /predict, de la validation Pydantic et des accès aux données Redis
- Intégration des variables préparées, dont les références de comptes et d’adresses, aux calculs accessibles par l’API
- Traitement asynchrone des entrées-sorties avec asyncio et aioredis sous Uvicorn, séparé des calculs d’entraînement et de prédiction exécutés via des threads
- Intégration de scikit-learn pour l’entraînement et la prédiction, et de joblib pour la gestion des modèles et la mise en cache ; gestion des dépendances Python avec Poetry
- Organisation en deux services Docker, FastAPI et Redis, avec déploiement dans un environnement Kubernetes sur OpenShift
- Articulation de l’API avec les règles de décision, le traitement des exceptions et la supervision des alertes
Vue fonctionnelle
L’API de machine learning reçoit les variables préparées à partir des données d’expéditions et retourne aux applications logistiques ses prédictions de fraude. Le schéma relie ce service au prétraitement, au réentraînement, aux règles métier et à la supervision des résultats. Les noms internes sont remplacés par leur fonction.
Splunk
Teradata
Composants et flux
- Données Teradata, fichiers consolidés et référentiels métier vers la préparation des variables explicatives
- Appels entrants et résultats prédictifs au travers de l’API ; règles et intégration en aval
- Réentraînement hebdomadaire et évaluation des résultats dans le contexte de la plateforme
- Stockage analytique, visualisation, supervision Splunk et diffusion d’alertes ; le produit de stockage final n’est pas déterminé par le schéma source
Logique de traitement
Compétences associées
- Analyse prédictive et détection d’anomalies
- Logiciels et applications sur mesure
- API et intégration des systèmes
- Observabilité et exploitation
- Infrastructure et déploiement des modèles d’IA
Prestations par secteur
Autres réalisations
Parlons de votre projet
Un échange sur la conception, le développement et la mise en production de votre projet.