Produits IA - SDK ovhai
Simplifiez la gestion de vos solutions IA en utilisant le SDK python ovhai
Objectif
L’objectif de ce document est de présenter la librairie Python ovhai.
La librairie ovhai est un client Python qui permet aux développeurs d’utiliser facilement l’API AI d’OVHcloud. Avec ce SDK, vous pouvez exécuter, gérer et automatiser vos notebooks, entraînements et déploiements dans le cloud à l’aide des produits IA d’OVHcloud (AI Notebooks, AI Training, AI Deploy).
Installation
Pour installer le SDK, exécutez la commande suivante :
Le SDK nécessite Python 3.8 ou une version supérieure. Pour savoir comment mettre à jour votre version de Python, consultez la documentation officielle de Python.
Prise en main - Exemple d’utilisation
Une fois le SDK AI installé, vous pouvez l’importer pour utiliser les produits IA d’OVHcloud via l’API.
Vous pouvez commencer par la création du client :
Le token utilisé pour créer le client peut être créé depuis l’, depuis l’AI Dashboard.
Une fois votre client défini, vous pouvez appeler un endpoint :
Ou faites la même chose avec une version asynchrone :
Dans le dossier ovhai/api, vous trouverez tous les endpoints que vous pouvez appeler. Ils sont regroupés par dossier selon leur finalité (notebook, job, app, ...).
Par exemple, pour lancer un notebook, vous devez importer le fichier notebook_new, situé dans /ovhai/api/notebook. Vous devrez également importer les objets liés à cet endpoint (ceux mentionnés dans le fichier Python), puisque vous allez les manipuler (Notebook et NotebookSpec ici, en plus des classiques AuthenticatedClient et Response). Cela vous permettra de lancer votre premier notebook à l’aide de la librairie Python ovhai, en fonction de vos spécifications :
L’objet Response renvoyé contiendra plusieurs informations, dont l’UUID de votre notebook.
Choses à savoir
Chaque endpoint de l’API AI d’OVHcloud dispose de son propre module Python, qui propose quatre fonctions :
sync: requête bloquante qui renvoie les données analysées (en cas de succès) ouNonesync_detailed: requête bloquante qui renvoie toujours uneRequest, avec éventuellementparseddéfini si la requête a réussiasyncio: identique Ãsyncmais en asynchrone plutôt qu’en bloquantasyncio_detailed: identique Ãsync_detailedmais en asynchrone plutôt qu’en bloquant
Pour mettre en œuvre l’appel que vous souhaitez, trouvez le dossier puis le fichier correspondant à vos besoins dans le dossier api. Choisissez ensuite la méthode qui vous convient le mieux parmi les quatre mentionnées ci-dessus. Importez enfin les objets nécessaires à l’utilisation de cette méthode.
Personnalisations avancées
La classe AuthenticatedClient générée propose davantage de paramètres vous permettant de contrôler plus finement le comportement à l’exécution ; consultez la docstring de cette classe pour plus d’informations. Vous pouvez également personnaliser le httpx.Client ou httpx.AsyncClient sous-jacent (selon votre cas d’usage) :
Par exemple, l’extrait de code précédent montre comment définir un hook personnalisé de requête et de réponse à l’aide du paramètre httpx_args de la classe AuthenticatedClient. Le paramètre httpx_args est utilisé pour transmettre des arguments supplémentaires au httpx.Client ou httpx.AsyncClient sous-jacent. Dans ce cas, l’argument event_hooks est utilisé pour spécifier des fonctions personnalisées qui seront appelées avant et après chaque requête et réponse HTTP.
Vous pouvez même définir directement le client httpx, mais attention, cela remplacera tous les paramètres existants (par exemple, base_url).
Votre avis nous intéresse !
N’hésitez pas à nous faire part de vos questions, retours et suggestions pour améliorer le service :
- Sur le serveur Discord OVHcloud