Togo AI Summer School 2026 (School of MLOps)
# Ciblage des pertes post-récolte, de l'entraînement à la production
Projet fil rouge de la **Togo AI Summer School 2026**.
Filière F1 pour la partie modélisation, filière F3 pour la mise en production.
Une ONG suit 2 400 exploitations agricoles au Togo. Chaque campagne, une partie subit des
pertes post-récolte supérieures à 20 %. Le budget permet d'accompagner 150 exploitations.
Lesquelles ?
---
## Ce que ce dépôt démontre
Un logiciel classique casse bruyamment : une exception est levée, un test échoue,
quelqu'un est réveillé.
**Un modèle se dégrade silencieusement.** Il continue de répondre 200 OK, avec des
probabilités parfaitement bien formées, dans un temps de réponse normal. Et il se trompe.
Tout ce dépôt sert à répondre à une seule question : comment rendre bruyante une
dégradation silencieuse ?
Trois réponses, une par cause de dégradation.
| Ce qui change | Ce qui le détecte | Où |
|---|---|---|
| Le code | gate de performance en CI | `tests/test_performance.py` |
| Les données | surveillance des entrées | `src/monitoring.py`, `GET /monitoring` |
| Le monde | décision de réentraînement | `docs/SESSION_MLOPS.md` |
---
## Démarrage
```bash
pip install -r requirements-dev.txt
make entrainer # produit models/
make ci # rejoue toute la chaîne de vérification
make api # démarre le service sur le port 8500
```
Puis ouvrir `
localhost` pour l'interface, ou `/docs` pour la documentation
interactive de l'API.
`make` sans argument affiche toutes les cibles disponibles.
---
## Le modèle
Régression logistique sur 11 variables, seuil de décision fixé par le budget.
| Quantité | Valeur |
|---|---|
| Exploitations | 2 400, dont 14,1 % à risque |
| Baseline (classe majoritaire) | 0,860 d'accuracy |
| Modèle | 0,868 d'accuracy, AUC 0,803 |
| Seuil optimal (coût) | 0,075, coût 322 |
| Seuil retenu (budget de 150) | 0,195, 151 exploitations, rappel 0,595 |
Le seuil de 0,868 contre 0,860 n'est pas une erreur d …