Inteligencia Artificial Como API en tu aplicación
Tags: aws, python, ai
Published: 2023-09-26 15:19:33

🇻🇪🇨🇱 [Dev.to](https://dev.to/elizabethfuentes12) [Linkedin](https://www.linkedin.com/in/lizfue/) [GitHub](https://github.com/elizabethfuentes12/) [Twitter](https://twitter.com/elizabethfue12) [Instagram](https://www.instagram.com/elifue.tech) [Youtube](https://www.youtube.com/channel/UCr0Gnc-t30m4xyrvsQpNp2Q)
[Linktr](https://linktr.ee/elizabethfuentesleone)

> ✅ **Blog original:** [All the things that Amazon Comprehend, Rekognition, Textract, Polly, Transcribe, and Others Do](https://community.aws/posts/all-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do)

Los desarrolladores, aquellos que brindan soluciones a problemas informáticos, basan procedimientos, programan y mantienen soluciones, son programadores, pero eso no los convierte en expertos en todo lo relacionado con el código, como es el caso de crear funciones dependientes de ML, donde es necesario estar familiarizados con los modelos y el entrenamiento de algoritmos, lo cual no es de conocimiento común.

Hay algunas API listas para usar que llaman a modelos existentes previamente entrenados para cumplir funciones de ML sin necesidad de conocimientos de ML y, además, mantienen segura la información que se comparte con ellos. 

A continuación, voy a hablarte de algunos servicios específicos de API de Machine Learning y de cuatro casos de uso para que te familiarices con ellos y dejes volar tu imaginación.


## ¿Cómo funcionan las API de ML-Functions listas para usar? Solo tienes que seguir 3 sencillos pasos:

1. Define el input, la ubicación del objeto en un bucket o texto de Amazon S3.
2. Invoca la API mediante la entrada.
3. Output en formato json.


![Diagram AIML like API in your APP"](https://community.aws/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Fposts%2Fall-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do%2Fimages%2Fdiagram-api-call.png&w=1200&q=75)


## Echemos un vistazo a las API

En AWS hay varios [servicios de ML y AI](https://aws.amazon.com/machine-learning/) 
que te permiten acelerar su adopción en las aplicaciones, desde las que proporcionan una infraestructura para entrenar tus propios modelos hasta las que están listas para usarse como llamadas a la API pre-entrenadas, veamos algunos de los segundos:

| Tipos de APIs | Que puedes hacer | Nombre del servicio | 
-- | -- | --
 🔎 Analisis de Imagenes (.png, .jpg) /videos (.mp4) | <ul> <li> Label detection (predefined or custom) </li>  <li> Propiedades y moderación de imágenes. </li>  <li> Detección, comparación y análisis faciales. </li>  <li> Búsqueda de rostros </li>  <li> People paths. </li>  <li> Equipo de protección personal </li>  <li> Reconocimiento de celegridades. </li>  <li>Texto en imágenes </li>  <li> Contenido inapropiado y/u ofensivo. </li></ul> | [Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html)	| 
🔎 Detección y análisis de texto en documentos (PNG, JPG, PDF or TIFF)	| 	<ul> <li> Procesa documentos individuales o agrupados. </li>  <li> Detecta texto mecanografiado y manuscrito. </li>  <li> Reconozca documentos, como informes financieros, registros médicos, documentos de identidad (licencias de conducir y pasaportes) y formularios de impuestos. </li>  <li> Extraiga texto, formularios y tablas de documentos con datos estructurados. </li></ul> | [Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) | 
🔎 Natural Language Processing (NLP) y analisis de texto.	| 	Procesa documentos y extrae información como: <ul> <li> Entities </li> <li> Eventos</li>  <li> Frases claves</li>  <li> Lenguaje dominante </li> <li> Sentimientos</li>  <li> Sentimiento dirigido </li>  <li>Análisis sintáctico.</li> <li> Clasificación personalizada y reconocimiento de entidades.</li>  <li> Gestión de modelos personalizados. </li></ul> | [Amazon comprehend](https://docs.aws.amazon.com/es_es/comprehend/latest/dg/what-is.html) | 
🔎 Conversión de texto a voz | <ul> <li> Soporta [varios idiomas e incluye una variedad de voces realistas](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html).</li> <li>Incluye una serie de voces [Neural Text-to-Speech (NTTS)](https://docs.aws.amazon.com/polly/latest/dg/NTTS-main.html), ofreciendo mejoras revolucionarias en la calidad de la voz a través de un nuevo enfoque de aprendizaje automático, ofreciendo así a los clientes las voces de conversión de texto a voz más naturales y humanas posibles.</li> <li>[LA tecnología Neural TTS también es compatible con el estilo de hablar de un presentador de noticias](https://docs.aws.amazon.com/polly/latest/dg/ntts-speakingstyles.html) que se adapta a los casos de uso de la narración de noticias. </li></ul> | [Amazon Polly](https://docs.aws.amazon.com/polly/latest/dg/what-is.html)  | 
🔎 Conversión de voz a texto | <ul> <li> Convierte audio a texto con ([estos formatos soportados](https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio))</li> <li> Transcribe contenido multimedia en tiempo real (streaming) o puede transcribir archivos multimedia ubicados en un bucket de Amazon S3 (bach: por lotes).</li> <li> Mejora la precisión para su caso de uso específico con [language customization](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html), puedes filtrar el contenido para garantizar la privacidad del cliente o el idioma apropiado para la audiencia, analizar el contenido en audio multicanal y dividir la voz de los hablantes individuales. </li></ul> |  [Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is.html) | 
🔎  Traducción | Traduce documentos de texto no estructurado (UTF-8) o cree aplicaciones que funcionen en [multiples idiomas](https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html) | [Amazon Translate](https://docs.aws.amazon.com/translate/latest/dg/what-is.html)| 

## 🚀  Casos de uso 

La mejor manera de aprender a programar es resolviendo problemas mediante el desarrollo de código, lo mismo ocurre cuando quieres aprender a usar un servicio, necesitas usarlo para aprender. Estos cuatro casos de uso son problemas reales (e inventados) que resolví mientras aprendía.

- [Crea subtítulos y tradúcelos al idioma que desees ⏯️ 🍿.](https://github.com/build-on-aws/aiml-like-api-in-your-app/blob/main/create-subtitles-and-translate-them-into-the-language-you-want/README.md)

Si te apasiona proporcionar vídeo con herramientas para que otros aprendan, querrás llegar al mayor número de personas posible, y el idioma es una barrera que puedes eliminar con esta aplicación.

![Create subtitles and translate them into the language you want"](https://community.aws/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Fposts%2Fall-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do%2Fimages%2Fcreate-subtitles-and-translate-s.png&w=1200&q=75)

1. Sube un video en formato .mp4 a un[Amazon s3 bucket](https://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/UsingBucket.html).
2. Una Amazon Lambda Function sealiza la llamada a la API de Transcribe.
3. El archivo de subtitulos es descargado en su idioma original en un Bucket de S3. 
4. Una Lambda Function realiza la llamada a la API de Translate.
5. El archivo de subtítulos en el nuevo idioma se descarga en S3 Bucket. 

[Código de la solución](https://github.com/build-on-aws/aiml-like-api-in-your-app/blob/main/create-subtitles-and-translate-them-into-the-language-you-want/README.md). 

- [Detección de entidades y sentimientos en un documento 🔎 📄.](https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/detecting-entities-and-sentiment-from-a-document%20)

Hay personas que tienen montañas de papeles en sus casas, cartas de amantes anteriores, exámenes médicos, recuerdos del colegio de sus hijos, bancos, etc. ¿Qué te parece guardarlo pulcramente en la nube? Intenta aprender sobre Textract y Comprehend con esta aplicación.

![Detecting entities and sentiment from a document"](https://community.aws/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Fposts%2Fall-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do%2Fimages%2Fdetecting-entities-and-sentiment.png&w=1200&q=75)

1. Sube el documento (PNG, JPG, PDF o TIFF) en un S3 Bucket.
2. Una Lambda Function realiza la llamada a la API de Textract.
3. Con la respuesta de Textract, Lambda Function realiza la llamada a la API Comprehend. 
4. Una Lambda Function realiza la llamada a la API de traducción.
5. La respuesta se guarda en un Bucket de S3. 

[Código de la solución]((https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/detecting-entities-and-sentiment-from-a-document%20))

- [Polly habla! 🦜](https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/make-polly-talk)

Tenía curiosidad por saber cómo sonaba un chino hablando italiano y, como Polly tiene voces nativas para cada idioma, creé este cuaderno para jugar.  😂.

![Make Polly Talk"](https://community.aws/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Fposts%2Fall-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do%2Fimages%2Fmake-polly-talk.png&w=1200&q=75)

1. Desde un Jupyter Notebook, haga la llamada a la API Polly.
2. Polly almacena el resultado en un Bucket de S3.
3. Recupera el audio.


[Código de la solución](https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/make-polly-talk)


- [Video content moderation ⏯️ 🔫 🚬](https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/video-content-moderation)

Soy fan de las películas de acción y quería probar Rekognition con el tráiler de Die Hard 1, así que creé esta aplicación y ¡guau! cada dataframe es pura violencia 🫣... Te invito a que lo pruebes con un tráiler de tu película favorita.

![Video content moderation"](https://community.aws/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Fposts%2Fall-the-things-that-comprehend-rekognition-textract-polly-transcribe-and-others-do%2Fimages%2Fvideo-content-moderation.png&w=1200&q=75)

1. Sube un video en formato .mp4 a un [Bucket de S3](https://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/UsingBucket.html).
2. Una Lambda Function hace la llamada a la API de Rekognition.
3. Una vez finalizada la revisión del vídeo, una nueva función de Lambda recupera el resultado y lo almacena en un bucket de S3.


[Código de la solución](https://github.com/build-on-aws/aiml-like-api-in-your-app/tree/main/video-content-moderation)


## Conclusión

Ahora has aprendido que puedes utilizar el AI/ML como una llamada a la API para analizar imágenes y vídeos, detectar y analizar texto en documentos escaneados, analizar texto mediante la PNL para extraer opiniones del idioma dominante y mucho más. Además de poder convertir texto en voz y viceversa, y disponer de un traductor de idiomas al alcance de una llamada a la API.

Esto es solo una pequeña parte de lo que puedes crear al impulsar las aplicaciones AI-ML al alcance de una llamada a la API.

Seguro que tienes un problema real o inventado que te gustaría resolver utilizando alguno de estos servicios y si no es así te dejo estos enlaces para que sigas experimentando y aprendiendo:

- Amazon Translate [Code Samples](https://github.com/aws-samples/document-translation).. [more code samples](https://docs.aws.amazon.com/translate/latest/dg/examples.html)
- Amazon Transcribe and Amazon Comprehend [Code Samples](https://github.com/aws-samples/amazon-transcribe-comprehend-podcast)
- Amazon Polly [Code Samples](https://docs.aws.amazon.com/polly/latest/dg/sample-code-overall.html)
- Amazon Rekognition [Code Samples](https://github.com/aws-samples/amazon-rekognition-code-samples)
----

## 🚨¿Te gusto? 👩🏻‍💻 ¿Tienes comentarios?🎤 cuéntamelo todo --> [acá](https://www.pulse.aws/survey/G7ZTZIPT)
---
### ¡Gracias!

🇻🇪🇨🇱 [Dev.to](https://dev.to/elizabethfuentes12) [Linkedin](https://www.linkedin.com/in/lizfue/) [GitHub](https://github.com/elizabethfuentes12/) [Twitter](https://twitter.com/elizabethfue12) [Instagram](https://www.instagram.com/elifue.tech) [Youtube](https://www.youtube.com/channel/UCr0Gnc-t30m4xyrvsQpNp2Q)
[Linktr](https://linktr.ee/elizabethfuentesleone)