Version
Modèle
Environnement

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.

GET / Page d’accueil (cette page en HTML)

Renvoie la landing statique ; utile pour découvrir l’API et les liens vers la doc.

GET /health Liveness & bundle ML

Statut global et indicateur model_loaded (présence du joblib).

GET /ready Readiness (modèle, config DB)

Indique si l’instance est prête à servir (modèle + configuration base).

GET /version Version, environnement, build

JSON : nom d’app, version semver, environnement, SHA de build optionnel.

GET /docs Swagger UI

Documentation API interactive (Try it out).

GET /redoc ReDoc

Vue alternative de la spécification API.

GET /api.json Schéma API (JSON)

Même modèle que Swagger ; pratique pour génération de clients.

GET /rate-limit Quotas slowapi (JSON)

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.

POST /auth/login Obtenir un JWT

Body JSON username / password. Réponse : access_token. Limitation de débit (SlowAPI).

POST /predict Prédiction une ligne

Corps aligné sur les variables new_Base_CDM_balanced_V2 (voir schéma DisplayFeaturesRequest). En-tête Bearer obligatoire.

POST /predict/batch Prédiction lot

Body rows: [...] ; respecter la limite renvoyée par le contrat preprocess.

POST /train Ré-entraînement (JWT)

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.

GET /ml/preprocess-contract Contrat preprocess & limite batch

Modalités catégorielles attendues, note sur Age_cred, taille max des lots.

GET /metrics Métriques du modèle entraîné

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"