En este tutorial, se le guiará a través de cómo crear un estilista personal impulsado por IA generativa. Este tutorial aprovecha el modelo de lenguaje de gran tamaño (LLM) IBM Granite Vision 3.2 para procesar la entrada y Granite 3.2 con las últimas capacidades de razonamiento mejoradas para formular ideas de atuendos personalizables.
¿Cuántas veces se ha preguntado: "¿Qué me pongo hoy? ¡No sé ni por dónde empezar a elegir la ropa de mi armario!"? Este dilema es uno que muchos de nosotros compartimos. Al utilizar modelos de inteligencia artificial (IA) de vanguardia, esto ya no tiene por qué ser una tarea abrumadora.
Nuestra solución impulsada por IA se compone de las siguientes etapas:
3. Tras la entrada del modelo Granite Vision 3.2, itera sobre la lista de imágenes y devuelve el siguiente output:
4. El modelo Granite 3.2 con razonamiento mejorado sirve como estilista de moda. El LLM utiliza el output del modelo Vision para ofrecer una recomendación de atuendo adecuada para el evento del usuario.
5. Se devuelven al usuario la sugerencia de atuendo, un marco de datos de artículos que el usuario ha subido y las imágenes de la recomendación personalizada descrita.
Necesita una cuenta de IBM Cloud para crear un proyecto watsonx.ai.
Para utilizar la interfaz de programación de aplicaciones (API) de watsonx, deberá completar los siguientes pasos. Tenga en cuenta que también puede acceder a este tutorial en GitHub.
Inicie sesión en watsonx.ai utilizando su cuenta de IBM Cloud.
Cree un proyecto watsonx.ai.
Puede obtener el ID de su proyecto desde su proyecto. Haga clic en la pestaña Administrar. A continuación, copie el ID del proyecto de la sección Detalles de la página General. Necesita este ID para este tutorial.
Cree una instancia de servicio watsonx.ai Runtime (elija el plan Lite, que es una instancia gratuita).
Genere una clave API.
Asocie la instancia del servicio watsonx.ai Runtime al proyecto que ha creado en watsonx.ai.
Para una experiencia más interactiva al utilizar esta herramienta de IA, clone el repositorio de GitHuby siga las instrucciones de configuración en el archivo README.md dentro del proyecto de estilo de IA para iniciar la aplicación Streamlit en su máquina local. De lo contrario, si prefiere seguir paso a paso, cree un Jupyter Notebook y continúe con este tutorial.
Necesitamos unas pocas bibliotecas y módulos para este tutorial. Asegúrese de importar los siguientes y, si no están instalados, puede resolverlo con una instalación rápida de pip.
Para establecer nuestras credenciales, necesitamos la
Podemos usar la clase
Se llama al
También podemos instanciar la interfaz del modelo utilizando la clase
Para codificar nuestras imágenes de forma que sean digeribles para el LLM, las codificaremos en bytes que, a continuación, descodificaremos en representación UTF-8. En este caso, nuestras imágenes están en el directorio de imágenes local. Encontrará imágenes de muestra en el directorio IA stylist de nuestro repositorio GitHub.
Ahora que hemos cargado y codificado nuestras imágenes, podemos consultar el modelo Vision. Nuestra instrucción es específica del output deseado para limitar la creatividad del modelo, ya que buscamos un output JSON válido. Almacenaremos la descripción, categoría y ocasión de cada imagen en una lista llamada
Resultado:
{
"description": "A pair of polished brown leather dress shoes with a brogue detailing on the toe box and a classic oxford design.",
"category": "shoes",
"occasion": "formal"
}
{
"description": "A pair of checkered trousers with a houndstooth pattern, featuring a zippered pocket and a button closure at the waist.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A light blue, button-up shirt with a smooth texture and a classic collar, suitable for casual to semi-formal occasions.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of khaki pants with a buttoned waistband and a button closure at the front.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A blue plaid shirt with a collar and long sleeves, featuring chest pockets and a button-up front.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of bright orange, short-sleeved t-shirts with a crew neck and a simple design.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A pair of blue suede sneakers with white laces and perforations, suitable for casual wear.",
"category": "shoes",
"occasion": "casual"
}
{
"description": "A pair of red canvas sneakers with white laces, isolated on a white background.",
"category": "shoes",
"occasion": "casual"
}
{
"description": "A pair of grey dress pants with a smooth texture and a classic design, suitable for formal occasions.",
"category": "pants",
"occasion": "formal"
}
{
"description": "A plain white T-shirt with short sleeves and a crew neck, displayed from the front and back.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "A black short-sleeved t-shirt with a crew neck and a simple design.",
"category": "shirt",
"occasion": "casual"
}
{
"description": "Black pants with a zippered pocket and a buttoned fly, showing the waistband and pocket details.",
"category": "pants",
"occasion": "casual"
}
{
"description": "A pair of tan leather boots with a chunky sole and a high-top design, suitable for casual wear.",
"category": "shoes",
"occasion": "casual"
}
Ahora que tenemos cada prenda y calzado categorizados, será mucho más fácil para el modelo de razonamiento generar un atuendo para la ocasión seleccionada. Instanciemos y consultemos el modelo de razonamiento.
Para alinear los nombres de archivo con las descripciones de las imágenes, podemos enumerar la lista de descripciones de imágenes y crear una lista de diccionarios en los que almacenamos la descripción, la categoría, la ocasión y el nombre de archivo de cada elemento en los campos correspondientes.
Ahora, consultemos el modelo Granite 3.2 con razonamiento para producir un conjunto para nuestros criterios especificados utilizando la lista
Resultado:
Este es mi proceso de pensamiento:
- El atuendo debe ser adecuado para una mañana informal en el parque durante el otoño.
- Seleccionaré una camisa, un par de pantalones y un par de zapatos que se ajusten a la categoría de ocasión "casual".
- Evitaré prendas formales o demasiado elegantes y elegiré prendas que sean cómodas para las actividades en el parque.
Esta es mi respuesta:
para una mañana informal en el parque en otoño, sugiero el siguiente atuendo:
1. **Camisa**: una camisa azul a cuadros con cuello y mangas largas (archivo: 'image13.jpeg')
- El estampado a cuadros es clásico para el otoño y combina bien con los ambientes informales de los parques. Las mangas largas ofrecen cierta protección contra las temperaturas más frías de la mañana.
2. **Pantalones**: pantalones caqui con cinturilla abotonada y cierre de botones en la parte delantera (archivo: 'image7.jpeg')
- El caqui es una opción versátil que puede combinar con el ambiente informal y también proporciona un buen equilibrio con el camisa a cuadros. Es práctico y cómodo para caminar.
3. **Zapatos**: un par de botas de cuero tostado con suela gruesa y diseño de caña alta (archivo: 'image3.jpeg')
- Las botas de cuero tostado ofrecen una opción elegante pero cómoda. La suela gruesa proporciona un buen agarre y soporte, ideal para navegar por senderos de parques o terrenos irregulares.
Esta combinación proporciona un look relajado y elegante, adecuado para una salida informal por la mañana, al tiempo que tiene en cuenta la comodidad y la practicidad.
¡Con esta descripción de atuendo generada, también podemos mostrar las prendas de vestir que recomienda el modelo! Para hacerlo, simplemente podemos extraer los nombres de archivo. En caso de que el modelo mencione el mismo nombre de archivo dos veces, es importante comprobar si la imagen no se ha mostrado ya mientras iteramos la lista de imágenes. Podemos hacerlo almacenando las imágenes mostradas en la lista
En este tutorial, ha creado un sistema que utiliza la IA para dar consejos de estilo a un usuario para un evento concreto. Utilizando fotos o capturas de pantalla de la ropa del usuario, los conjuntos se personalizan para cumplir con los criterios especificados. El modelo Granite-Vision-3-2-2b era crítico para etiquetar y clasificar cada artículo. Además, el modelo Granite-3-2-8B-instruct aprovechó sus capacidades de razonamiento para generar ideas de atuendos personalizados.
Algunos de los próximos pasos para crear esta aplicación pueden incluir:
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.