{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Tech - API REST pour deep learning avec FastAPI\n", "\n", "Certains sites web actuels font appels \u00e0 de nombreux mod\u00e8les de machine learning. Un moteur de recherche affiche beaucoup de r\u00e9sultats diff\u00e9rents, des suggestions, des r\u00e9sultats de recherches, des recherches associ\u00e9es, des informations, des r\u00e9sultats locaux. Chacun d'entre eux fait appel \u00e0 un ou plusieurs mod\u00e8les de machine learning plus ou moins complexes. Le mod\u00e8le classique d'un site web, ce sont deux machines :\n", "* le **client** : la machine de celui qui consiste le site web\n", "* le **server** : la machine qui retourne la page pour celui qui consiste le site web\n", "\n", "De plus en plus, les pages sont dynamiques : deux internautes ne verront pas la m\u00eame chose m\u00eame s'ils vont au m\u00eame url, ne serait-ce que pour les publicit\u00e9s affich\u00e9es qui semblent parfois influenc\u00e9es par l'historique de navigation. Les pages sont calcul\u00e9es. Parfois, les calculs sont si complexes qu'une seule machine ne peut pas les faire seule. Le server fait appel \u00e0 d'autres serveurs \u00e0 qui on envoie des donn\u00e9es pour qu'ils retournent une pr\u00e9diction. Le m\u00e9canisme le plus souvent utilis\u00e9 est celui-ci d'une [API REST](https://fr.wikipedia.org/wiki/Representational_state_transfer). C'est ce m\u00e9canisme qu'on va voir ici. Un avantage de ce syst\u00e8me est que la machine qui fait des calculs peut planter sans que la machine qui produit les pages ne s'arr\u00eate. Les API REST \u00e9changent des informations le plus souvent au format [JSON](https://docs.python.org/3/library/json.html)."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": ["