ML and Prediction in Retails Companies — FastAPI
Service REST pour la santé du modèle, le contrat de prétraitement, la prédiction (JWT).
Voir un exemple curl
curl -s "/health"
Voir curl — quotas API
curl -s "/rate-limit"
Contrat ML
Inférence
Sécurité
Interface Next.js
root Racine & santé
Landing HTML, probes de disponibilité et métadonnées de build.
Renvoie la landing statique ; utile pour découvrir l’API et les liens vers la doc.
Statut global et indicateur model_loaded (présence du joblib).
Indique si l’instance est prête à servir (modèle + configuration base).
JSON : nom d’app, version semver, environnement, SHA de build optionnel.
Documentation API interactive (Try it out).
Vue alternative de la spécification API.
Même modèle que Swagger ; pratique pour génération de clients.
Limites effectives par famille de routes, multiplicateur d’environnement, stockage mémoire ou Redis.
api Auth & prédiction
Authentification par mot de passe, émission de JWT, scoring unitaire ou par lot, entraînement.
Body JSON username / password. Réponse : access_token. Limitation de débit (SlowAPI).
Corps aligné sur les variables new_Base_CDM_balanced_V2 (voir schéma DisplayFeaturesRequest). En-tête Bearer obligatoire.
Body rows: [...] ; respecter la limite renvoyée par le contrat preprocess.
Lance le pipeline d’entraînement depuis les données SAS ; invalide le cache du bundle après succès.
ml Contrat & métriques
Découverte du prétraitement côté ML et lecture des métriques du dernier entraînement.
Modalités catégorielles attendues, note sur Age_cred, taille max des lots.
JSON des métriques et colonnes features. 404 si aucun entraînement n’a encore produit de fichier métriques.
Exemples
Tester les routes dans la doc interactive : /docs
Comment tester ?
Commandes rapides :
| Route | curl | PowerShell |
|---|---|---|
| /health |
|
|
| /version |
|
|
| /api.json |
|
|
| /ml/preprocess-contract |
|
|
| /metrics |
|
|
| POST /auth/login |
|
|
Health
curl -s "{{BASE}}/health"
Contrat preprocess
curl -s "{{BASE}}/ml/preprocess-contract"
Métriques ML (JSON)
curl -s "{{BASE}}/metrics"
Login (exemple)
curl -s -X POST "{{BASE}}/auth/login" -H "Content-Type: application/json" -d "{\"username\":\"USER\",\"password\":\"PASS\"}"
Configuration rate limiting
curl -s "{{BASE}}/rate-limit"