Aplicaciones ML de pila completa (Javascript, React, Streamlit) con API de Gradio

Gradio: Desarrollo de aplicaciones de aprendizaje automático con API optimizadas

Introducción

Al desarrollar aplicaciones de aprendizaje automático, a menudo es necesario integrar toda la funcionalidad de aprendizaje automático en una API. Esto permite separar el desarrollo front-end del back-end, donde el front-end puede implementarse mediante diversos frameworks de JavaScript como React.js o AngularJS, mientras que el back-end se basa en Python. Tradicionalmente, los desarrolladores alojaban la API en un servidor mediante frameworks como FastAPI. Sin embargo, un anuncio reciente de Gradio ha introducido una nueva función que permite a los usuarios utilizar Gradio como API, alojada en Hugging Face Spaces. Este artículo explora las capacidades de la API de Gradio y demuestra cómo crear una aplicación de aprendizaje automático optimizada con esta potente herramienta.

La API de Gradio

Gradio, un kit de herramientas de aprendizaje automático, ahora ofrece una opción de API que permite a los usuarios crear aplicaciones de aprendizaje automático alojadas en Hugging Face Spaces y utilizarlas como API. Esto significa que los desarrolladores pueden crear aplicaciones de aprendizaje automático e integrarlas sin problemas en cualquier aplicación web, independientemente del lenguaje de programación utilizado para el front-end. Esta opción de API mejora la flexibilidad y versatilidad del desarrollo de aplicaciones de aprendizaje automático.

Para acceder a la API de Gradio, los usuarios deben acceder a Gradio Uplink y asegurarse de usar una versión superior a la 3.11. Al abrir la aplicación, aparecerá un botón «Usar mediante API» en la parte inferior. Al hacer clic en este botón, se proporciona toda la información y la documentación necesarias para utilizar la API de Gradio.

Creación de una aplicación de texto a voz con la API de Gradio

Para mostrar las capacidades de la API de Gradio, crearemos una aplicación de texto a voz simple utilizando una aplicación Streamlit alojada localmente y potenciada por la API de Gradio alojada en Hugging Face Spaces.

La aplicación permite a los usuarios introducir texto, que posteriormente se convertirá a voz mediante la API de Gradio. El proceso implica realizar llamadas a la API al punto final de Hugging Face Spaces. Siguiendo la documentación de la API proporcionada, los desarrolladores pueden comprender fácilmente los puntos finales necesarios, los tipos de solicitud, las cargas útiles de entrada de ejemplo y los objetos de respuesta de salida.

Para probar la funcionalidad de la API, podemos usar herramientas como Hopscotch, una alternativa de código abierto a Postman. Al realizar una solicitud POST al punto final de la API con la carga útil adecuada, podemos verificar la conversión correcta del texto a una cadena de audio codificada en base64. Decodificar esta cadena en base64 nos permite reproducir el archivo de audio y confirmar la precisión de la conversión de texto a voz.

Para integrar la API de Gradio en una aplicación Streamlit, combinamos el código Python proporcionado en la documentación de Gradio con el framework Streamlit. Esto nos permite crear una aplicación de aprendizaje automático completamente funcional con componentes front-end y back-end independientes. La aplicación Streamlit recopila la información del usuario, la envía al punto final de la API de Gradio, recibe la respuesta e incrusta el archivo de audio en un reproductor de audio HTML para su reproducción.

Conclusión

La API de Gradio ofrece a los desarrolladores una potente herramienta para crear aplicaciones de aprendizaje automático y utilizarlas como API. Al alojar modelos de aprendizaje automático en Hugging Face Spaces y crear aplicaciones de Gradio sobre ellos, los desarrolladores pueden aprovechar las capacidades de la API de Gradio en cualquier lenguaje de programación. Esta flexibilidad abre numerosas posibilidades para integrar funciones de aprendizaje automático en diversas aplicaciones, desde simples solicitudes HTTP hasta complejas aplicaciones R Shiny. La aplicación Streamlit que se muestra en este artículo demuestra el potencial de combinar tecnologías front-end y back-end para crear aplicaciones de aprendizaje automático optimizadas y completas. Con la API de Gradio, los desarrolladores pueden aprovechar el poder del aprendizaje automático y crear aplicaciones innovadoras con facilidad.

Etiquetas