oc_mlops_projet_2 / README.md
GitLab CI
Déploiement automatique depuis GitLab CI - 2026-04-01 14:07:12
c928309
---
title: Prêt à Dépenser - API de Prédiction
emoji: 💰
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
---
# API pour la prédiction du risque de défaillance de paiement d'un Crédit - Prêt à Dépenser
Cette API permet de prédire à l'aide d'un modèle de Machine Learning (Histogramme Gradient Boosting)
si un client risque d'être en défaut de paiement lors de l'analyse de sa demande de prêt.
## Endpoints disponibles
- `GET /health` - Vérification de l'état de l'API
- `GET /columns` - Liste des colonnes attendues par le modèle
- `POST /predict` - Prédiction pour un client avec les 10 variables les plus importantes
- `POST /predict/file` - Prédiction en lot avec toutes les variables via fichier CSV
## Documentation interactive
Accédez à la documentation Swagger : `/docs`
## Accessibilité de l'API
l'API (FastAPI) et son interface graphique (Streamlit) sont déployées sur Hugging Face Spaces (public) et accessibles via les liens suivants.
- **Interface graphique** : https://huggingface.co/spaces/CedM/oc_mlops_projet_2_dashboard
- **Ligne de commande (Linux, MacOS, Windows)** :\
curl -X GET "https://cedm-oc-mlops-projet-2.hf.space/health"
curl -X GET "https://cedm-oc-mlops-projet-2.hf.space/columns"
curl -X POST "https://cedm-oc-mlops-projet-2.hf.space/predict" -H "Content-Type: application/json" -d '{"features": {"EXT_SOURCE_3": 0.1393757800997895, "EXT_SOURCE_2": 0.2629485927471776, "EXT_SOURCE_1": 0.0830369673913225, "DAYS_EMPLOYED": -637.0, "PAYMENT_RATE": 0.0607492667810303, "INSTAL_DPD_MEAN": 0.0, "PREV_CNT_PAYMENT_MEAN": 24.0, "AMT_ANNUITY": 24700.5, "CODE_GENDER": 0, "PREV_NAME_PRODUCT_TYPE_walk-in_MEAN": 0.0}}'
curl -X POST "https://cedm-oc-mlops-projet-2.hf.space/predict/file" -F "file=@./train_data_sp2_subsample_1.csv"
## Accessibilité des données pour tester l'API et Logs
- Des données de test sont disponibles dans un Hugging Face Dataset (public) : https://huggingface.co/datasets/CedM/oc_mlops_projet_2/tree/main
Pour faire une demande en lot, prenez par exemple le fichier : `train_data_sp2_subsample_1.csv`
- Les logs de l'API (latence, erreurs) sont accessibles au même endroit (api_log.jsonl) ainsi que l'historique des demandes/réponses de l'API (data_io.csv) pour suivre les prédictions et la dérive des données.
## Structure du projet
Le projet est hébergé sur Framagit.org (public - instance GitLab) et est poussé automatiquement sur Hugging Face Spaces via GitLab CI sous forme de conteneurs Docker lors d'un PUSH sur la branche `main` de GitLab :
https://framagit.org/dapa/oc_mlops_projet_2
![title](4_Docs/structure_projet.png)
## Détails de l'interface graphique (Dashboard Streamlit)
Le dashboard permet de :
- Faire une demande de prédiction individuelle basée sur les 10 variables les plus importantes pour la prédiction de défaut de paiement
- Faire une demande en lot via un fichier CSV
- Visualiser la dérive des données (Data drift - pour savoir si il est nécessaire de réentraîner le modèle)
- Visualiser la latence et les erreurs de l'API