Applications ML Full-Stack (Javascript, React, Streamlit) avec l'API Gradio

Gradio : création d'applications d'apprentissage automatique avec des API simplifiées

Introduction

Pour créer des applications de machine learning, il est souvent nécessaire d'encapsuler l'intégralité des fonctionnalités de machine learning dans une API. Cela permet de séparer le développement front-end et back-end : le front-end peut être implémenté à l'aide de différents frameworks JavaScript comme React.js ou AngularJS, tandis que le back-end est optimisé par Python. Traditionnellement, les développeurs hébergeaient l'API sur un serveur utilisant des frameworks comme FastAPI. Cependant, une annonce récente de Gradio introduit une nouvelle fonctionnalité permettant aux utilisateurs d'exploiter Gradio comme API, hébergée sur Hugging Face Spaces. Cet article explore les fonctionnalités de l'API Gradio et montre comment créer une application de machine learning simplifiée grâce à cet outil puissant.

L'API Gradio

Gradio, une boîte à outils de machine learning, propose désormais une option API permettant aux utilisateurs de créer des applications de machine learning hébergées sur Hugging Face Spaces et de les utiliser comme API. Les développeurs peuvent ainsi créer des applications de machine learning et les intégrer facilement à n'importe quelle application web, quel que soit le langage de programmation utilisé pour le front-end. Cette option API améliore la flexibilité et la polyvalence du développement d'applications de machine learning.

Pour accéder à l'API Gradio, les utilisateurs doivent accéder à Gradio Uplink et s'assurer d'utiliser une version supérieure à 3.11. À l'ouverture de l'application, un nouveau bouton « Utiliser via l'API » apparaîtra en bas. Cliquer sur ce bouton permet d'accéder à toutes les informations et à la documentation nécessaires à l'utilisation de l'API Gradio.

Création d'une application de synthèse vocale avec l'API Gradio

Pour présenter les capacités de l'API Gradio, nous allons créer une application de synthèse vocale simple à l'aide d'une application Streamlit hébergée localement et alimentée par l'API Gradio hébergée sur Hugging Face Spaces.

L'application permet aux utilisateurs de saisir du texte, qui sera ensuite converti en parole grâce à l'API Gradio. Ce processus implique des appels d'API au point de terminaison Hugging Face Spaces. En suivant la documentation de l'API fournie, les développeurs peuvent facilement comprendre les points de terminaison, les types de requêtes, les exemples de charges utiles d'entrée et les objets de réponse de sortie nécessaires.

Pour tester les fonctionnalités de l'API, nous pouvons utiliser des outils comme Hopscotch, une alternative open source à Postman. En envoyant une requête POST au point de terminaison de l'API avec la charge utile appropriée, nous pouvons vérifier la conversion réussie du texte en chaîne audio codée en base64. Le décodage de cette chaîne en base64 nous permet de lire le fichier audio et de confirmer l'exactitude de la conversion.

Pour intégrer l'API Gradio à une application Streamlit, nous combinons le code Python fourni dans la documentation Gradio avec le framework Streamlit. Cela nous permet de créer une application de machine learning entièrement fonctionnelle avec des composants front-end et back-end distincts. L'application Streamlit collecte les entrées utilisateur, les envoie au point de terminaison de l'API Gradio, reçoit la réponse et intègre le fichier audio dans un lecteur audio HTML pour lecture.

Conclusion

L'API Gradio offre aux développeurs un outil puissant pour créer des applications de machine learning et les utiliser comme API. En hébergeant des modèles de machine learning sur des Hugging Face Spaces et en créant des applications Gradio par-dessus, les développeurs peuvent exploiter les capacités de l'API Gradio dans n'importe quel langage de programmation. Cette flexibilité ouvre de nombreuses possibilités d'intégration de fonctionnalités de machine learning dans diverses applications, des simples requêtes HTTP aux applications R Shiny complexes. L'application Streamlit présentée dans cet article illustre le potentiel de la combinaison de technologies front-end et back-end pour créer des applications de machine learning full-stack rationalisées. Grâce à l'API Gradio, les développeurs peuvent exploiter toute la puissance du machine learning et créer facilement des applications innovantes.

Étiquettes