Skip to content

Commit

Permalink
Merge branch 'improve-20231214'
Browse files Browse the repository at this point in the history
  • Loading branch information
avouacr committed Dec 14, 2023
2 parents a04e09b + 2140407 commit 126880f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 16 deletions.
1 change: 1 addition & 0 deletions slides/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
background.svg
favicon-32x32.png
logo.svg
mlruns
53 changes: 37 additions & 16 deletions slides/fr/applications/_application3.qmd
Original file line number Diff line number Diff line change
@@ -1,15 +1,36 @@
::: {.panel-tabset}
## Déploiement manuel

::::{.callout-tip collapse="true" icon=false}
## Déploiement manuel d'un modèle ML en tant qu'API
## Exposer localement un modèle de ML en tant qu'API

:::::{.nonincremental}


1. Nous avons construit une API REST très simpliste à l'aide de FastAPI. Tous les fichiers sous-jacents se trouvent dans le dossier `app`. Consultez-les.
2. Ouvrez le `Dockerfile` pour voir comment l'image est construite. L'image est automatiquement reconstruite et publiée via Github Actions, si vous êtes intéressé, jetez un coup d'œil à `.github/workflows/build_image.yml`. Dans le cadre de cette formation, nous allons tous utiliser cette même image.
3. Ouvrez le fichier `kubernetes/deployment.yml` et modifiez les lignes surlignées comme suit :
2. Déployez l'API localement en lançant les commandes suivantes dans un terminal :

```shell
export MLFLOW_EXPERIMENT_NAME="nace-prediction"
export MLFLOW_MODEL_VERSION=1
uvicorn app.main:app
```

3. Ouvrez la page de l'API à l'aide du bouton proposé par `VSCode`.
4. Affichez la documentation de votre API en ajoutant `/docs` à votre URL.
5. Testez votre API !

:::::
::::





::::{.callout-tip collapse="true" icon=false}
## Déploiement manuel d'un modèle de ML en tant qu'API

:::::{.nonincremental}

0. Ouvrez le `Dockerfile` pour voir comment l'image est construite. L'image est automatiquement reconstruite et publiée via Github Actions, si vous êtes intéressé, jetez un coup d'œil à `.github/workflows/build_image.yml`. Dans le cadre de cette formation, nous allons tous utiliser cette même image.
1. Ouvrez le fichier `kubernetes/deployment.yml` et modifiez les lignes surlignées comme suit :

```{.yml code-line-numbers="7,9,11" filename="deployment.yml"}
containers:
Expand All @@ -25,17 +46,15 @@ containers:
value: "1"
```

4. Ouvrez le fichier `kubernetes/ingress.yml` et modifiez (deux fois) l'URL du point de terminaison de l'API pour qu'elle soit de la forme `<votre_prénom>-<votre_nom>-api.lab.sspcloud.fr`.
5. Appliquez les trois contrats `Kubernetes` contenus dans le dossier `kubernetes/` dans un terminal pour déployer l'API
2. Ouvrez le fichier `kubernetes/ingress.yml` et modifiez (deux fois) l'URL du point de terminaison de l'API pour qu'elle soit de la forme `<votre_prénom>-<votre_nom>-api.lab.sspcloud.fr`.
3. Appliquez les trois contrats `Kubernetes` contenus dans le dossier `kubernetes/` dans un terminal pour déployer l'API

```shell
kubectl apply -f formation-mlops/kubernetes/
```

6. Accédez à votre API en utilisant l'URL définie dans votre fichier `ingress.yml`.
7. Affichez la documentation de votre API en ajoutant `/docs` à votre URL.
8. Testez votre API !
9. Réentrainez un nouveau modèle et déployez ce nouveau modèle dans votre API
4. Accédez à votre API en utilisant l'URL définie dans votre fichier `ingress.yml`.
5. Réentrainez un nouveau modèle et déployez ce nouveau modèle dans votre API

<details>
<summary>
Expand All @@ -52,18 +71,21 @@ kubectl apply -f formation-mlops/kubernetes/
kubectl apply -f formation-mlops/kubernetes/
```

5. Rafraîchissez votre API et vérifiez sur la page d'accueil qu'elle est désormais basée sur la nouvelle version du modèle.
6. Rafraîchissez votre API et vérifiez sur la page d'accueil qu'elle est désormais basée sur la nouvelle version du modèle.

</details>

:::::
::::


## Déploiement continu





::::{.callout-tip collapse="true" icon=false}
## Déploiement continu d'un modèle ML en tant qu'API
## Déploiement continu d'un modèle de ML en tant qu'API

:::::{.nonincremental}

Expand Down Expand Up @@ -108,4 +130,3 @@ spec:

:::::
::::
:::

0 comments on commit 126880f

Please sign in to comment.