For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/ai-machine-learning/ai-deploy-getting-started.md.

AI Deploy - Premiers pas

Voir en Markdown

Découvrez AI Deploy et lancez votre première application

Info

AI Deploy est couvert par les Conditions particulières OVHcloud Public Cloud.

Objectif

OVHcloud propose un ensemble d’outils AI managés conçus pour construire vos projets de Machine Learning.

Ce guide explique comment démarrer avec AI Deploy d’OVHcloud, en couvrant le déploiement de votre première application, que ce soit depuis l’espace client (interface) ou via l’interface en ligne de commande ovhai.

Prérequis


Accès à l'espace client OVHcloud

  • Lien direct :
  • Chemin de navigation : Public Cloud > Sélectionnez votre projet

En pratique

S’abonner à AI Deploy

Cliquez sur pour accéder à votre projet Public Cloud, puis rendez-vous dans la catégorie AI & Machine Learning du menu de gauche et choisissez AI Deploy.

Cliquez sur le bouton Déployer une app et acceptez les conditions générales le cas échéant.

Une fois ce clic effectué, vous serez redirigé vers le processus de création détaillé ci-dessous.

Abonnement app AI Deploy

Déployer votre première application

Étape 1 : nommer votre application

Choisissez d’abord un nom pour votre app AI Deploy, ou conservez le nom généré automatiquement s’il vous convient, afin de faciliter la gestion de l’ensemble de vos apps.

Nom de l'app AI Deploy

Étape 2 : sélectionner la localisation

Sélectionnez l’endroit où votre app AI Deploy sera hébergée, c’est-à-dire son emplacement physique.

Info

OVHcloud propose plusieurs datacenters. Vous trouverez les capacités disponibles pour AI Deploy dans le guide Capacités AI Deploy.

Localisation de l'app AI Deploy

Étape 3 : allouer les ressources de calcul

Pour déployer une app AI Deploy, vous devez allouer des ressources de calcul. L’app prend en charge plusieurs configurations de ressources :

  • Ressources GPU : de 1 à 4 GPU
  • Ressources CPU : de 1 à 12 CPU

Notez que chaque instance est facturée en fonction de son temps d’exécution.

Chaque ressource de calcul comprend :

  • Cœurs CPU ou GPU : la puissance de traitement de votre app
  • RAM : la mémoire de votre app
  • Stockage local : l’espace de stockage de votre app

Vous pouvez ajuster la taille de la ressource pour personnaliser l’allocation de cœurs CPU ou GPU, de RAM et de stockage local selon les besoins spécifiques de votre app.

Ressources de l'app AI Deploy

Étape 4 : sélectionner l’application à déployer

AI Deploy permet à un utilisateur de déployer des applications à partir de deux sources :

  • Depuis votre propre image Docker, ce qui vous offre une flexibilité totale pour déployer ce que vous souhaitez. Cette image peut être stockée sur de nombreux types de registre (Managed Private Registry OVHcloud, Docker Hub, GitHub packages, ...) et le format attendu est <registry-address>/<image-identifier>:<tag-name>.
  • Depuis un catalogue OVHcloud comportant déjà des modèles et applications AI intégrés.

Dans ce tutoriel, nous allons utiliser une image Docker OVHcloud de démonstration pour déployer votre première app AI Deploy. L’objectif est de déployer et d’appeler une simple API Flask qui vous accueillera en renvoyant Hello suivi du name que vous avez envoyé dans votre requête. Il n’y a pas d’interface web. Ce qui est fourni est un endpoint API que vous pouvez joindre via HTTP.

Info

Si vous souhaitez déployer votre propre image, vous devez respecter certaines règles, comme l’ajout d’un utilisateur spécifique. Suivez notre guide Construire et utiliser des images personnalisées. Le guide Utiliser et gérer vos registres publics et privés pourrait également vous intéresser.

Pour utiliser cette image Docker OVHcloud de démonstration, saisissez le nom suivant comme image Docker personnalisée : ovhcom/ai-deploy-hello-world. Cliquez ensuite sur le bouton + pour confirmer.

Info

Vous pouvez retrouver cette image sur le DockerHub OVHcloud. Pour plus d’informations sur cette image Docker, consultez le dépôt GitHub.

Image Docker de l'app AI Deploy

Étape 5 : allouer les ressources de calcul et définir la stratégie de scaling

Vous pouvez ensuite modifier le nombre de réplicas sur lesquels votre app AI Deploy sera déployée, selon une stratégie de scaling.

Stratégies de scaling de l'app AI Deploy

La stratégie de scaling statique vous permet de choisir un nombre fixe de réplicas sur lesquels l’app sera déployée. Pour cette méthode, le nombre minimum de réplicas est de 1 et le maximum de 10. Cette stratégie est utile lorsque votre consommation ou votre charge d’inférence est fixe. Elle permet en outre d’avoir des coûts fixes.

Avec la stratégie d’autoscaling, il est possible de choisir à la fois le nombre minimum de réplicas (1 par défaut) et le nombre maximum de réplicas. La haute disponibilité mesurera l’utilisation moyenne des ressources sur l’ensemble des réplicas et ajoutera des instances si cette moyenne dépasse le seuil de pourcentage d’utilisation moyenne spécifié. À l’inverse, elle supprimera des instances lorsque cette utilisation moyenne des ressources passera sous ce seuil. Vous pouvez même descendre à 0 en l’absence d’usage, limitant ainsi les coûts. La métrique surveillée peut être CPU ou RAM, ou une métrique personnalisée. Cette solution peut être préférable en cas de charges d’inférence irrégulières ou en dents de scie.

Pour plus de détails sur les stratégies de scaling, reportez-vous à notre guide dédié : AI Deploy - Stratégies de scaling.

Étape 6 : port HTTP par défaut

Le port HTTP exposé par défaut pour l’URL de votre app est 8080. Cependant, si vous utilisez un framework spécifique nécessitant un port différent, vous pouvez remplacer le port par défaut et configurer votre application pour utiliser le port alternatif souhaité.

Port de l'app AI Deploy

Étape 7 : règle d’accès

Le paramètre suivant à définir est la confidentialité. Vous pouvez opter pour un accès public (ouvert à internet) ou un accès restreint.

L’accès public signifie que tout le monde est autorisé. Utilisez cette option avec précaution. L’accès public est généralement utilisé pour les tests, mais pas en production, puisque n’importe qui pourra utiliser votre app.

À l’inverse, un accès sécurisé nécessitera des identifiants pour accéder à l’app. Deux options sont disponibles dans ce cas :

  • Un utilisateur AI Platform. On peut le voir comme une restriction par nom d’utilisateur et mot de passe. Assez simple, mais peu granulaire.
  • Un token AI (solution préférée). Un token est très efficace, car vous pouvez l’associer à des labels. Cela sera expliqué à l’étape 8.

Nous sélectionnerons l’accès restreint pour ce déploiement.

Confidentialité de l'app AI Deploy

Étape 8 : configuration avancée (optionnel)

Cette étape vous permet de personnaliser votre app AI Deploy avec des fonctionnalités supplémentaires. Vous pouvez choisir de configurer une, plusieurs, ou aucune des options ci-dessous.

Commandes

Vous pouvez remplacer la commande Docker par défaut (entrypoint) par une commande personnalisée. Cela est utile si votre image Docker possède un entrypoint spécifique que vous souhaitez modifier.

Volumes

Si votre application nécessite des données externes pour fonctionner, comme des scripts ou des modèles, vous pouvez charger ces données sur des conteneurs Swift, compatibles S3, ou sur des dépôts Git publics/privés, puis monter ces solutions de stockage sur votre app.

Vous pouvez également monter un Object Storage comme dossier de sortie, par exemple pour récupérer les données générées par votre application.

Vous pouvez attacher autant de volumes que vous le souhaitez à votre app, avec diverses options.

Dans les deux cas, vous devrez préciser :

  • Storage container ou Git repository URL : le nom du conteneur à synchroniser, ou l’URL du dépôt GitHub (celle qui se termine par .git).
  • Mount directory : l’emplacement dans l’app où les données synchronisées sont montées.

Il existe également des paramètres optionnels :

  • Authorisation : les droits de permission sur les données montées. Les droits disponibles sont lecture seule (ro) et lecture-écriture (rw). La valeur par défaut est ro.
  • Cache : indique si les données synchronisées doivent être ajoutées au cache du projet. Les données présentes dans le cache peuvent être utilisées par d’autres apps sans synchronisation supplémentaire. Pour bénéficier du cache, les nouvelles apps doivent également monter les données avec l’option cache.

Pour en savoir plus sur les données, les volumes et les permissions, consultez la page dédiée aux données.

Volumes de l'app AI Deploy

Labels

Vous avez ensuite la possibilité d’ajouter des labels Clé/Valeur pour filtrer ou organiser l’accès à votre app AI Deploy.

Par exemple, ajoutez un label avec Key=owner et Value=elea.

Labels de l'app AI Deploy

Cela rendra l’application accessible uniquement aux utilisateurs disposant du token associé à ce label (clé/valeur). L’accès sera ainsi restreint aux utilisateurs disposant d’un token associé à ce label (clé-valeur).

Pour en savoir plus sur cette fonctionnalité, consultez le tutoriel dédié.

Sonde de disponibilité

Enfin, vous pouvez activer la fonctionnalité Readliness probe. Pour ce faire, renseignez :

  • Probe API endpoint : l’endpoint /health de votre app.
  • Probe port : le port associé à l’endpoint de la sonde.

Cela vous permet de surveiller l’état de santé de votre app et de vous assurer qu’elle est prête à recevoir du trafic.

Étape 9 : vérifier et lancer votre app AI Deploy

Cette dernière étape fournit un récapitulatif du déploiement de votre app AI Deploy, vous permettant de vérifier les options et paramètres précédemment sélectionnés.

Vous pouvez également générer la commande CLI ovhai équivalente, qui vous permet de déployer la même application via l’interface en ligne de commande. Cette CLI peut être téléchargée ici. Pour plus d’informations, consultez la documentation CLI - Lancer une app AI Deploy.

Pour lancer votre app AI Deploy, cliquez sur Commander maintenant. Notez que votre app ne sera pas immédiatement disponible, car elle nécessite un certain temps pour :

  • Récupérer l’image Docker
  • Monter les éventuels volumes de données configurés

Une fois le déploiement terminé, votre première app AI Deploy sera en production et prête à être utilisée.

Se connecter à votre app AI Deploy

Étape 1 : vérifier le statut de votre app AI Deploy

Rendez-vous d’abord dans les détails de votre app pour vérifier qu’elle a bien atteint le statut En service.

Détails de l'app AI Deploy

Pour votre information, vous pouvez accéder à votre application déployée en cliquant sur le bouton bleu HTTP access, qui exposera le port HTTP par défaut de votre app. Cependant, comme nous avons déployé une API Flask dans ce tutoriel, vous ne pourrez pas y accéder via le bouton HTTP access, aucune interface n’ayant été déployée.

Étape 2 : générer un token de sécurité

Lors du processus de déploiement des apps AI Deploy, nous avons sélectionné Restricted access. Pour interroger votre app, vous avez d’abord besoin d’un token de sécurité valide.

Dans le menu de gauche de votre espace client OVHcloud, rendez-vous dans le AI Dashboard de la section AI & Machine Learning. Sélectionnez l’onglet Tokens.

Cliquez sur le bouton + Créer un token, puis renseignez un nom, un sélecteur de label, un rôle et une région comme ci-dessous :

Création de token AI Deploy

Quelques explications :

  • Sélecteur de label : vous pouvez restreindre le token accordé par labels. Vous pouvez indiquer un identifiant spécifique, un type, ou tout label déjà créé, tel que owner=elea dans notre cas.
  • Rôle : AI Platform Operator peut lire et gérer votre app AI Deploy. AI Platform Read only peut uniquement lire votre app AI Deploy.
  • Région : les tokens sont régionalisés. Sélectionnez la région associée à votre app AI Deploy.

Générer votre première requête cURL

Maintenant que votre app AI Deploy est en cours d’exécution et que le token est généré, vous êtes prêt pour votre première requête.

Comme nous sommes en accès restreint, vous devrez préciser le token d’authentification dans l’en-tête, selon ce format :

-H "Authorization: Bearer $YOURTOKENHERE"

Dans notre cas, le code cURL exact est :

 curl --request POST
    --url https://9b5b651e-8514-43d0-ae68-af801771542f.app.gra.ai.cloud.ovh.net
    -H "Authorization: Bearer $YOURTOKENHERE"
    --header 'Content-Type: application/json'
    --data ' "Elea" '

Ce qui nous donne

 "Hello Elea. Congratulations, you have launched your first AI App!"

Si vous voyez ce message avec le name que vous avez fourni, vous avez lancé avec succès votre première app !

Générer votre première requête Python

Si vous souhaitez interroger cette API avec Python, cet exemple de code utilisant la bibliothèque Python Request pourrait vous convenir :

export AI_APP_TOKEN=token_value
import requests
import json
import os
from requests.structures import CaseInsensitiveDict

url = "https://9b5b651e-8514-43d0-ae68-af801771542f.app.gra.ai.cloud.ovh.net"

headers = CaseInsensitiveDict()
headers = {'content-type': 'application/json',
           'Accept-Charset': 'UTF-8',
           'Authorization': f"Bearer {os.getenv('AI_APP_TOKEN')}
           }

data = "Elea"
j_data = json.dumps(data)

r = requests.post(url, data = j_data, headers = headers)

print(r.status_code)
print(r.text)

Résultat :

200
 "Hello Elea. Congratulations, you have launched your first AI App!"

Et voilà !

Arrêter et supprimer votre app AI Deploy

Vous avez la flexibilité de laisser votre app AI Deploy s’exécuter indéfiniment. À tout moment, vous pouvez facilement arrêter votre application, en utilisant soit l’interface (espace client OVHcloud), soit la CLI ovhai.

Depuis l'espace client (UI)
Depuis la CLI ovhai

Cliquez sur pour accéder à votre projet Public Cloud, puis sélectionnez la section AI Deploy. Repérez l’app AI Deploy que vous souhaitez arrêter. Cliquez sur le bouton ... et arrêtez votre application AI Deploy en sélectionnant Arrêter dans le menu contextuel.

Page AI Deploy dans l'espace client OVHcloud avec l'application my-model-api In service et l'entrée Stop mise en évidence dans son menu d'actions

Une fois arrêtée, votre app AI Deploy libérera les ressources de calcul précédemment allouées. Votre endpoint est conservé, et si vous redémarrez votre app AI Deploy, le même endpoint pourra être réutilisé sans problème. Par ailleurs, lorsque vous arrêtez votre app, vous ne réservez plus de ressources de calcul, ce qui signifie que vous n’avez plus de dépenses pour cette partie. Seules des dépenses liées au stockage attaché peuvent subsister.

Si vous souhaitez supprimer complètement votre app AI Deploy, sélectionnez l’action Supprimer. Veillez également à supprimer vos données Object Storage si vous n’en avez plus besoin, en vous rendant dans la section Object Storage (dans la catégorie Storage).

Aller plus loin

  • Vous pouvez imaginer déployer un modèle AI pour la reconnaissance de croquis grâce à AI Deploy. Reportez-vous à ce tutoriel.
  • Vous souhaitez utiliser Streamlit pour créer une app ? C'est par ici.

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Nous voulons vos retours !

N’hésitez pas à nous faire part de vos questions, retours et suggestions pour améliorer le service sur le serveur Discord OVHcloud !

Cette page vous a-t-elle aidé ?