Transformación de Imágenes Usando IA Sin Salir de Tu Aplicación React
From Author:
Las bibliotecas de optimización de imágenes abstraen las partes difíciles de trabajar con imágenes para que puedas concentrarte en la implementación. Pero estas herramientas no te permiten hacer transformaciones complejas a tus imágenes existentes. Agregar texto, eliminar fondos distractores, o escalar imágenes a una resolución superior requiere que descargues, transformes y vuelvas a subir tus imágenes. Esta charla explorará el uso de las APIs de imágenes de IA y unpic-image para manejar transformaciones de imágenes complejas dentro de nuestras aplicaciones React. Eliminaremos y reemplazaremos fondos de imágenes y usaremos el recorte facial consciente del contexto para crear diseños responsivos.
This talk has been presented at React Summit US 2023, check out the latest edition of this React Conference.
FAQ
La transformación de imágenes con IA en aplicaciones React implica usar tecnologías avanzadas para modificar y optimizar imágenes automáticamente dentro de la aplicación, sin necesidad de procesos manuales extensos, aprovechando la inteligencia artificial para realizar tareas como eliminación de fondos, recortes faciales y mejora de resolución.
Manejar correctamente las imágenes es crucial porque son una parte integral de la experiencia del usuario y la primera impresión del producto. Un manejo ineficiente puede llevar a problemas como tiempos de carga lentos y uso excesivo de datos, afectando la satisfacción del cliente y la percepción general del producto.
Los desarrolladores pueden simplificar la transformación de imágenes utilizando CDNs de imágenes que manejan automáticamente optimizaciones y transformaciones mediante IA. Esto elimina la necesidad de gestionar manualmente cada cambio y mantenimiento de cachés, permitiendo una integración fácil y eficiente en la aplicación.
El uso de un CDN de imágenes ofrece varios beneficios como la reducción de la sobrecarga de mantenimiento, la optimización automática de imágenes, cumplimiento de las mejores prácticas de manejo de imágenes, y la actualización constante de las funciones sin intervención manual, facilitando así el desarrollo y mantenimiento de aplicaciones.
Algunas transformaciones de IA aplicables mediante un CDN incluyen la eliminación de fondos, el recorte centrado en reconocimiento facial, y la mejora de resolución. Estas transformaciones ayudan a asegurar que las imágenes se ajusten a los estándares de diseño y mejoren la experiencia visual del usuario.
Unpick Image es una biblioteca de optimización de imágenes que se integra con CDNs para manejar transformaciones de imágenes directamente en la nube. En aplicaciones React, se utiliza para simplificar la gestión de imágenes, permitiendo que los desarrolladores implementen fácilmente optimizaciones y transformaciones de IA sin configuraciones complejas.
Video Transcription
1. Introducción a la Transformación de Imágenes
Hoy hablaremos sobre la transformación de imágenes con IA en tu aplicación React. Es importante no olvidar las imágenes, ya que son el tejido conectivo de tus sitios. Adoptar las mejores prácticas de imagen lleva tiempo, por lo que podemos explorar la transformación de imágenes en el borde como una alternativa más rápida y fácil.
Muy bien, mi nombre es Luis Paul. Soy un ingeniero de software senior en ImageX. Hoy vamos a hablar sobre la transformación de imágenes con IA sin salir de tu aplicación React. Pero voy a ir rápido porque hay mucho contenido, así que discúlpenme, intentaré ir más despacio.
Primero, un poco de historia. Como desarrolladores, nos encanta lanzar productos. Estamos enfocados en las características, la experiencia del cliente y la satisfacción, como deberíamos estar. Ese es nuestro trabajo. Pero eso hace que sea fácil olvidar las partes que no codificamos, cosas como las imágenes. Así que podrías encontrarte en esta situación en la que lanzaste un producto viral, a la gente le encanta, pero también te están enviando mensajes diciendo, oye, es fantástico pero estás enviando 100 megabytes de imágenes. No hagamos eso. Y tienes que correr y arreglarlo. Por eso es importante no olvidar las imágenes. Son el tejido conectivo de tus sitios. Las imágenes son la forma en que los clientes experimentan tu producto por primera vez y son más importantes de lo que tendemos a darnos cuenta.
Entonces, ¿qué deberíamos hacer al respecto? Deberíamos adoptar las best practices de imagen. Hay un montón de ellas, ¿verdad? Tienes tamaños de fuente, relación de aspecto, cambios de diseño, carga perezosa, etc. Y asegurarte de cumplir con todas ellas lleva tiempo. Por lo tanto, requiere que hagas cosas como generar variantes para todas tus imágenes. ¿Cómo podemos facilitar esto? Así que nos inclinamos a hacer cosas como la transformación de imágenes como un paso de construcción. Pero no es genial. Transformar en el momento de la construcción puede llevar una eternidad. El conjunto de características es más limitado en términos de transformaciones que puedes lograr y tienes que hacer un cuidadoso mantenimiento de tus tooling para hacerlo bien a largo plazo. En resumen, la DX simplemente no es genial.
Entonces, ¿qué más podemos hacer? Podemos hacer cosas como la transformación de imágenes en el borde. Esto es rápido, fácil de integrar en cualquier aplicación. Siempre está actualizado. Puedes crear un nuevo punto de replicación fácilmente y se mantiene actualizado para ti. Pero viene con algo de sobrecarga. Tienes que crear nuevas funciones cada vez que necesitas una nueva transformación, y tienes que hacer cosas como mantener e invalidar cachés, sincronizar el activo generado de vuelta a tu cubo donde viven tus activos.
2. Transformación de Imágenes con CDN y IA
Con un CDN de imágenes, puedes encargarte de todo el trabajo pesado y adoptar progresivamente las mejores prácticas. En nuestra aplicación Contentful Next JS, eliminamos fondos, recortamos imágenes usando IA y mejoramos la resolución de imágenes pixeladas. Aprovechamos el CDN de imágenes y los parámetros de IA para asegurar que nuestras imágenes siempre se vean lo mejor posible. Eso es transformar imágenes usando IA sin salir de tu aplicación React.
Y por eso puede volverse un poco complicado, razón por la cual la gente se inclina hacia los CDN de imágenes. Con un CDN de imágenes, puedes encargarte de todo ese trabajo pesado. Y luego puedes adoptarlo progresivamente usando algo como unpick image que se encargará de cumplir con todas estas best practices por ti. Es fantástico porque es de configuración cero con la mayoría de los grandes CDN. Simplemente sueltas la URL de tu imagen que vive en el CDN. Sabe qué hacer. Solo le das un ancho y una altura si lo necesitas. Y eso es prácticamente todo.
En resumen, no necesitas reinventar la rueda para lograr las best practices. Así que echemos un vistazo a cómo podrías usar esto en tus aplicaciones. Vamos a tener una aplicación Contentful Next JS, va a usar una biblioteca de optimization de imágenes. Utilizará un CDN de imágenes para eliminar toda esa sobrecarga y aprovechará los parámetros de IA del CDN para hacer algunas transformaciones divertidas.
Entonces, primero, vamos a eliminar fondos usando IA. Queremos hacer cumplir cierta consistencia en nuestro sitio, asegurarnos de que las cosas coincidan con nuestros diseños. Así que aquí tenemos nuestra aplicación Contentful Next JS. Tiene una imagen de héroe. Queremos eliminar el fondo. Todo lo que necesitamos hacer, usando el CDN, es usar su parámetro de eliminación de fondo, guardar, y al agregar eso a la URL, tendremos un fondo eliminado. Fue rápido, fácil, sin dolor, gracias a usar Unpick Image en el CDN. Sigamos adelante. Tenemos algunos recortes faciales de IA que queremos hacer. Queremos asegurarnos de que las imágenes siempre estén enfocadas en lo que es realmente relevante y centrado. Así que veamos cómo podemos hacer eso. Tenemos una imagen aquí, y tenemos a alguien caminando por el pasillo, pero realmente no podemos ver la cara de esta persona, y nos gustaría, así que, ¿por qué no la recortamos alrededor de la cara de esta persona? La forma en que hacemos eso es agregando algunos parámetros a la URL. Configuraremos Frick crop, agregaremos algunas dimensiones de ancho y altura. Y una vez que hemos hecho eso, ahora también queremos asegurarnos de que usamos algún reconocimiento facial para centrar automáticamente la cara del sujeto en la imagen. Fácil. Y ahora, lo último que queremos hacer, es mejorar la resolución. Este es mi favorito personal, es como un truco de magia. Puedes agregar algo de definición a las imágenes pixeladas, vas a aumentar la densidad de píxeles, y vas a hacer cosas como, ya sabes, mejorar la iluminación y el contraste. Entonces, si pensamos en nuestra aplicación Contentful NxJS, podemos tener un componente de imagen, que todas nuestras imágenes usen, pero tal vez tenemos mucho contenido generado por los usuarios, se pone un poco complicado, ¿verdad? No todos tienen lo último y lo mejor, tienen contenido antiguo, queremos mejorar su resolución. Lo que tenemos que hacer en este caso es agregar el parámetro de mejora de resolución, guardarlo, y así, con el upscale equals true en nuestra URL de imagen, nuestra imagen se mejora automáticamente y ese carrusel se ve genial. Así que, para resumir, ¿qué hicimos? Hablamos mucho sobre muchas cosas. Hicimos una aplicación Contentful NxJS, usamos una biblioteca de optimization de imágenes llamada Unpick Image, y luego usamos un CDN de imágenes para eliminar toda esa desagradable sobrecarga de tener que invalidar cachés o almacenar imágenes en la cloud y finalmente, aprovechamos ese CDN para usar algunos parámetros de IA como el recorte de reconocimiento facial, como la eliminación de fondos, como la mejora de resolución y asegurarnos de que nuestras imágenes siempre se vean lo mejor posible cuando se muestran. Eso es transformar imágenes usando IA sin salir de tu aplicación React y estoy suficientemente sin aliento. Muchas gracias a todos. No duden en hacer preguntas.
Check out more articles and videos
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Workshops on related topic
Después de esta sesión, tendrás una idea de qué son los LLMs y cómo se pueden utilizar prácticamente para mejorar tus propias aplicaciones.
Tabla de contenidos:- Demostración interactiva de la implementación de funciones básicas impulsadas por LLM en una aplicación de demostración- Discutir cómo decidir dónde aprovechar los LLMs en un producto- Lecciones aprendidas sobre la integración con OpenAI / descripción general de la API de OpenAI- Mejores prácticas para la ingeniería de indicaciones- Desafíos comunes específicos de React (gestión de estado :D / buenas prácticas de UX)
En la masterclass habrá una mezcla de presentación y ejercicios prácticos para cubrir temas que incluyen:
- Fundamentos de GPT- Trampas de los LLMs- Mejores prácticas y técnicas de ingeniería de prompts- Uso efectivo del playground- Instalación y configuración del SDK de OpenAI- Enfoques para trabajar con la API y la gestión de prompts- Implementación de la API para construir una aplicación orientada al cliente potenciada por IA- Ajuste fino y embeddings- Mejores prácticas emergentes en LLMOps
Conceptos Clave: IA Generativa, Retrieval Augmented Generation
Tecnologías: OpenAI, LangChain, AstraDB Vector Store, Streamlit, Langflow
Comments