FastAPI
# Créer des API avec des performances élevées et une documentation
automatique.
UP ASI
Département informatique
Bureau: E204
2024/2025 - MLOps - Intégration continue dans MLOps 1
Définition
- FastAPI est un framework web pour Python, conçu pour créer des
APIs modernes et rapides.
- FastAPI est conçu pour maximiser la productivité et minimiser les
erreurs.
- FastAPI est un choix puissant pour déployer des modèles ML en
production.
- Grâce à sa simplicité et ses performances, il s'intègre parfaitement
dans un workflow MLOps.
2
Définition
- FastAPI est largement utilisé chez les entreprises
3
FastAPI dans MLOps
Contexte de MLOps :
✓ Besoin de déployer rapidement des modèles ML en production.
✓ Importance de l'exposition des modèles via des APIs.
Avantages de FastAPI pour MLOps :
✓ Documentation interactive automatique pour tester les modèles.
✓ Haute performance pour servir des prédictions rapidement.
✓ Intégration simple avec d'autres outils (Exemple : MLflow)
✓ Pour consommer les web services fournis par FastAPI, vous pouvez
utiliser plusieurs technologies frontales ( Angular , React, Flutter,
etc…) pour avoir une interface conviviale et simple pour le client
final.
4
FastAPI dans MLOps
Caractéristiques principales:
✓ Rapide et performant : FastAPI permet de créer des applications
qui répondent rapidement, ce qui est idéal pour des services
modernes.
✓ Documentation automatique : FastAPI génère une page web
interactive où vous pouvez tester vos APIs sans écrire de code
supplémentaire.
✓ Compatible avec les standards : Il utilise des règles universelles
comme OpenAPI pour décrire les APIs et JSON Schema pour
vérifier les données.
5
Pourquoi FastAPI
Caractéristique FastAPI Flask DJANGO TORNADO
Très rapide (écrit
Relativement en C ,applications à
Performance Très rapide Modéré
lent haute
performance)
Documentation
Génération Pas de Pas de
automatique
Documentation automatique documentation documentation
via Django
automatique via Swagger UI automatique automatique
REST
et ReDoc intégrée intégrée
framework
Communauté Très grande Très grande Très grande Plus petite
Excellente prise
Support des APIs
Prise en charge Parfaitement en charge
Très bien adapté REST (application
des API REST adapté (Django REST
temps réel)
framework)
6
Pourquoi FastAPI
✓ FastAPI est un excellent choix si vous recherchez un framework moderne,
rapide, avec une bonne prise en charge de l’asynchrone et des modèles
de machine learning, tout en étant facile à utiliser et bien documenté.
✓ Si vous avez besoin d'un framework plus léger et simple pour des petites
APIs, Flask est un bon choix.
✓ Django est à privilégier si vous travaillez sur une application web
complète et que vous avez besoin de fonctionnalités avancées pour
gérer des utilisateurs et des permissions.
✓ Tornado est préférable pour les cas où la performance extrême et la
gestion asynchrone sont primordiales, mais avec un courbe
d'apprentissage plus élevée.
7
Architecture FastAPI
FastAPI est utilisé pour exécuter des opérations tels que les CRUDs
qui s’exécute sur son serveur uvicorn et dont les résultats sont
affichés avec une documentation grâce à Swagger.
8
Architecture FastAPI
FastAPI s’appuie sur le serveur web Uvicorn qui est un serveur web
ASGI (Asynchronous ServerGateway Interface) rapide pour Python
qui est idéal pour le développement. L’architecture complète d’un
projet python utilisant FastAPI est la suivante :
9
Exemples d’utilisation
Exemple1 : création d’un end point avec FastAPI et pudantic
10
exemples
Exemple 2 : Entrainer un modèle en utilisant la regression linéaire
11
exemples
Exemple2 : Création d’un end point pour la prédiction du modèle
entrainé
12
FastAPI Ui
13
FastAPI Ui
14
Prochaines étapes
→ Pratiquez avec le workshop fourni et explorez les
fonctionnalités avancées (comme l'intégration avec
MLflow).
15
FastAPI
Si vous avez des questions, n’hésitez pas à nous
contacter :
Département Informatique
UP Architectures des Systèmes d'Information
Bureau E204 /E304
16