Utilice crewAI para crear sistemas multimodales multiagente para optimizar estanterías de venta minorista con watsonx.ai

Autor

Yohan Bensoussan

GenAI Architect @ IBM Build Lab

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

Imagine transformar el rendimiento de su tienda minorista con solo un teléfono inteligente y el poder de la inteligencia artificial (IA). Este no es un escenario futuro lejano, ¡es una realidad que las pequeñas y medianas tiendas de venta minorista pueden implementar hoy! En este tutorial, exploraremos un emocionante caso de uso real en el que los propietarios y encargados de tiendas pueden utilizar la IA para optimizar la disposición de sus estanterías, aumentar las ventas y mejorar la experiencia del cliente. Aprovecharemos tanto el último modelo de IBM® Granite en este proyecto como el modelo de visión Llama 3.2 de Meta.

El impacto de la IA generativa en el comercio minorista

Con la llegada de la IA generativa basada en agentes, las pequeñas y medianas tiendas minoristas ahora tienen acceso a análisis y recomendaciones a nivel de expertos que antes eran dominio de las grandes corporaciones con equipos dedicados a la ciencia de datos. Esta democratización de la tecnología de IA puede ser innovadora para su tienda local, boutique o cadena regional.

Esto es lo que hace que este enfoque sea tan revolucionario:

  • Simplicidad: todo lo que necesita para empezar es una simple imagen de su tienda.
  • Experiencia bajo demanda: los agentes de IA actúan como su equipo personal de expertos de venta minorista, analizando su espacio y las tendencias actuales del mercado.
  • Conocimientos prácticos: recibirá un plan detallado y práctico para reorganizar sus estantes con el fin de maximizar las ventas y la satisfacción del cliente.
  • Rentable: este enfoque elimina la necesidad de consultores costosos o sistemas de software complejos.
  • Adaptabilidad: a medida que cambian las tendencias del mercado, puede volver a analizar y ajustar rápidamente el diseño de su tienda para mantenerse a la vanguardia.

Profundicemos en los detalles técnicos y veamos cómo funciona esta optimización minorista con IA, paso a paso. Al final de este tutorial, comprenderá claramente cómo implementar este sistema en su propia tienda, lo que podría revolucionar su venta minorista con el poder de la IA.

Esquema de arquitectura de agente multimodal

La historia detrás de la solución

Sarah es la propietaria de una tienda de comestibles local que tenía dificultades para competir con las grandes cadenas. A pesar de sus mejores esfuerzos, notó que ciertos productos no se vendían tan bien como deberían, mientras que otros estaban constantemente agotados. Un día, mientras reorganizaba su pasillo de productos frescos por tercera vez ese mes, se preguntó si había una forma mejor.

Ahí es donde entra en juego nuestra solución con IA. Solo con su móvil y nuestro sistema inteligente, Sarah pudo transformar el rendimiento de su tienda. Profundicemos en cómo construir un sistema de este tipo.

Verduras y frutas orgánicas frescas en la estantería del supermercado Estanterías de Sarah

¿Qué es crewAI?

Podemos utilizar crewAI, un marco agéntico de código abierto que orquesta las interacciones de los agentes en los equipos. El término "crew" se refiere a sistemas multiagente. Nuestro equipo es un equipo de agentes expertos en venta minorista que están disponibles 24x7, cada uno con su propia especialidad. Las tareas pueden asignarse directamente a un agente o gestionarse a través del proceso jerárquico de crewAI que evalúa funciones específicas y disponibilidad.

Para los principiantes de la tripulación, consulte el explicador de crewAI junto con los documentos oficiales . En el repositorio oficial de crewAI GitHub también puede encontrar ejemplos de equipos que realizan análisis de acciones, análisis de datos, RAG, integración de LangGraph y mucho más.

Conozca al equipo minorista de IA

Echemos un vistazo al equipo de expertos en venta minorista que utilizaremos en este tutorial.

store_manager:
    role: Store Manager
    goal
        Analyze the shelves in the physical store and provide a detailed report
        to the market analyst to develop a detailed action plan with the insights.
    backstory
        As the Space Planner, you are responsible for examining the store's shelves,
        assessing product placement and optimizing space utilization.
        You have access to advanced tools for shelf visualization, which help you
        collect accurate data on the current arrangement of products.
        You are capable to translate market analysis into a plan for the store
        or specific shelf or department.

market_analyst:
    role: Market Trend Analyst
    goal
        Provide recommendations to rearrange the product arrangement based on market trends.
    backstory
        As the Market Analyst, you possess in-depth knowledge of market trends and consumer behavior.
        Your experience and keen sense of retail enable you to propose effective recommendations
        for specific shelves. You analyze reports provided by the Space Planner to suggest
        improvements that enhance sales and customer experience.

Flujo de trabajo de tareas

El flujo de trabajo de la tarea es el siguiente.

analyze_shelf:
    description:
        Use the Vision Tool to collect visual data and caption the current product arrangement.
        Conduct a thorough analysis of shelf {shelf} in the store.
        Prepare a detailed report highlighting the current layout, products,
        product placement and any observed issues.
        Ensure the report is detailed at the level of product names.
    expected_output:
        A comprehensive report on shelf {shelf}, including visual data,
        analysis of product placement, space utilization and any recommendations for improvement.
    agent: store_manager

provide_recommendations:
    description:
        Review the report on shelf {shelf} provided by the Store Manager.
        Utilize your knowledge of the retail market and internet to assess current trends
        relevant to the products in this shelf ({shelf}).
        Develop expert recommendations to optimize sales and customer satisfaction.
        Ensure the recommendations are detailed and includes details like product names.
    expected_output:
        A set of actionable recommendations for rearranging the {shelf} shelf,
        aligned with current market trends and consumer preferences.
    agent: market_analyst

create_action_plan:
    description:
        List the recommendations from the Market Analyst,
        then develop a detailed action plan for Store manager and Store buyer
        to implement the changes.
        Ensure the plan is practical and outlines the steps needed to rearrange
        the products effectively.
        Be smart and well explained.
        Give the explanation of your recommendations and the goal to achieve.
    expected_output:
        A detailed list of recommendation and action plan for rearranging and
        improving the {shelf} shelf according to market trends,
        including market analyst recommendations and translation into
        practical tasks for the Store manager and the Buyer.
    agent: store_manager

Pasos

Puede encontrar este proyecto en Github.

Paso 1. Configure su entorno

Primero tenemos que configurar nuestro entorno. Puede encontrar estos pasos en el archivo Markdown en GitHub o siguiéndolos aquí.

  • Asegúrese de que Python >=3.10 <=3.13 esté instalado en su sistema. Puede comprobar su versión de Python utilizando el comando python3 --version .
  • Configure un entorno virtual para evitar conflictos de dependencia de paquetes de Python.
python3 -m venv myenv
source ./myenv/bin/activate
  • Clone el repositorio utilizando https://github.com/IBM/ibmdotcom-tutorials.git como URL HTTPS. Para conocer los pasos detallados sobre cómo clonar un repositorio, consulte la documentación de GitHub.

La estructura del proyecto decrew-IA-projects debe ser similar al siguiente:

src/my_retail_advisor/

├── config/
│ ├── agents.yaml # Agent configurations
│ └── tasks.yaml # Task definitions
├── tool/
│ ├── custom_tool.py # Custom crewAI tool implementations
│ └── tool_helper.py # Vision helper functions
├── crew.py # Crew orchestration
└── main.py # Application entry point

Paso 2. Obtenga las credenciales de la API de watsonx

  1.  Inicie sesión en watsonx.ai utilizando su cuenta de IBM® Cloud.
  2. Cree un proyecto watsonx.ai. Tome nota de su ID de proyecto en proyecto > Gestionar > General > ID de proyecto. Necesitará este ID para este tutorial.
  3. Cree una instancia de servicio watsonx.ai Runtime (elija el plan Lite, que es una instancia gratuita).
  4. Genere una clave de API de watsonx.
  5. Asocie el servicio watsonx.ai Runtime al proyecto que ha creado en watsonx.ai.

Paso 3. Obtenga las credenciales de la API de Serper

Genere y tome nota de su clave de API Serper gratuita. Serper es una API de búsqueda de Google que utilizaremos en este proyecto.

Paso 4. Instale crewAI y configure sus credenciales

Necesitamos instalar el marco de trabajo de crewAI para este tutorial y establecer las credenciales de watsonx.ai que generamos en el paso 2.

Para instalar crewAI, ejecute el siguiente comando en su terminal.

%pip install 'crewai[tools]'

 

En un archivo.env  distinto en el mismo nivel de directorio que el .env_sample  , establezca sus credenciales como cadenas de la siguiente manera:

WATSONX_APIKEY=your_watson_api_key_here
WATSONX_PROJECT_ID=your_watsonx_project_id_here
WATSONX_URL=your_endpoint (e.g. "https://us-south.ml.cloud.ibm.com")
SERPER_API_KEY=your_serper_api_key_here

Paso 5. Personalice el equipo (opcional)

crewAI se puede configurar para utilizar cualquier modelo de lenguaje de gran tamaño (LLM) de código abierto. Los LLM se pueden conectar a través de Ollama y varias otras API, como IBM watsonx y OpenAI. Los usuarios también pueden aprovechar las herramientas prediseñadas disponibles a través del kit de herramientas de crewAI, así como de las herramientas LangChain.

Nuestra herramienta de búsqueda visual personalizada funciona con el llama-3-2-90b-vision-instruct modelo utilizando watsonx.ai. Eche un vistazo a la herramienta de visión personalizada en el directorio de herramientas.

# tool/custom_tool.py
from crewai.tools import BaseTool
from my_retail_advisor.tools.tool_helper import Helper

class VisionTool(BaseTool):
name: str = "Vision Tool"
description: str = "Analyzes a default picture to collect visual data."

def _run(self) -> str:
# Relative path to the shelf.jpg image from the working crew-ai/my_retail_advisor directory
image_path = 'images/shelf.jpg'

# Simulating image-to-text conversion
products_in_image = Helper.image2text(image_path)
return products_in_image

Hay muchas formas de personalizar su equipo:

  • Modificar src/my_retail_advisor/config/agents.yaml para definir sus agentes.
  • Modificar src/my_retail_advisor/config/tasks.yaml  para definir sus tareas.
  • Modificar src/my_retail_advisor/crew.py para añadir su propia lógica, herramientas y argumentos específicos.
  • Modificar src/my_retail_advisor/main.py para añadir entradas personalizadas para sus agentes y tareas.
  • Modificar src/my_retail_advisor/tool/custom_tool.py para añadir herramientas personalizadas para sus agentes y tareas.
  • Modificar src/my_retail_advisor/tool/tool_helper.py para cambiar la herramienta de visión personalizada basada en el modelo multimodal Llama.
  • Reemplace images/shelf.jpg con una imagen propia.

Paso 6. Ejecute el sistema

Asegúrese de estar en el directorio de trabajo adecuado de este proyecto. Puede cambiar de directorio ejecutando el siguiente comando en su terminal.

cd crew-ai-projects/my_retail_advisor

Para poner en marcha a su equipo de agentes de IA y comenzar la ejecución de tareas, ejecute este comando desde la carpeta raíz de su proyecto. Tenga en cuenta que el equipo puede funcionar durante varios minutos antes de devolver un resultado final.

crewai run

Este comando inicializa themy-retail-advisor Crew, reuniendo a los agentes y asignándoles tareas tal como se definen en su configuración. Este ejemplo, sin modificar, utilizará Granite en watsonx.ai para crear un archivo report.md con el resultado. crewAI puede devolver JSON, modelos Pydantic y cadenas sin procesar como resultado. Este es un ejemplo del resultado generado por el equipo.

Ejemplo de resultado:

Plan de acción para reorganizar y mejorar el estante de verduras

Objetivo:
crear una sección de productos agrícolas visualmente atractiva y organizada que muestre las verduras más populares, aumente las ventas y mejore la satisfacción del cliente.

Recomendaciones del analista de mercado:

  1. Crear un punto focal con una exhibición colorida y llamativa de las verduras más populares.
  2. Utilizar una variedad de colores, texturas y alturas para crear interés visual.
  3. Agrupar las verduras similares.
  4. Considerar el uso de cestas, cubos u otros contenedores para agregar una sensación natural y terrenal.
  5. Utilizar la iluminación para resaltar productos o promociones específicos.
    ...

Plan de acción para Encargado de tienda y Comprador:

...

Paso 1: visualización del punto focal

  • Encargado de la tienda: designar un área central en el estante para las verduras más populares (tomates, papas, cebollas, lechuga, zanahorias, pimientos, pepinos y apio).
  • Comprador: asegurarse de que haya existencias suficientes de estas verduras para mantener una exposición completa y atractiva.
  • Equipo: disponer las verduras de forma visualmente atractiva, utilizando una variedad de colores, texturas y alturas.

...

Paso 4: pantallas temáticas y características adicionales

  • Encargado de la tienda: planificar e implementar exhibiciones temáticas (por ejemplo, barbacoa de verano o temática festiva) para atraer a los clientes y promocionar productos relacionados.
  • Comprador: asegurarse de que haya existencias suficientes de materiales de exhibición temáticos y productos relacionados.
  • Equipo: utilizar estantes o soportes para verduras para añadir espacio de exposición adicional y crear una exposición visualmente atractiva.

Conclusión

Como se puede observar en el ejemplo de salida, el sistema multiagente es capaz de ejecutar el proceso secuencial de procesamiento de entradas, invocación de herramientas y formulación de conclusiones.

¿Recuerda el problema del pasillo de productos frescos de Sarah? Así es como el sistema le ayudó:

  1. Análisis visual: Sarah hizo una foto del pasillo de verduras con el móvil. El agente encargado de la tienda analizó la imagen y observó que las estanterías están muy llenas y necesitan mantenimiento.
  2. Estudio de mercado: el agente analista de mercado utilizó las tendencias actuales del mercado de venta de verduras y las preferencias de los clientes para crear recomendaciones prácticas de reordenación del lineal de verduras.
  3. Plan de acción: basándose en estos conocimientos, Sarah recibió un plan detallado que incluía instrucciones para:
    • Crear una pantalla colorida y llamativa
    • Utilizar cestas o papeleras para añadir un toque natural a la exposición.
    • Añadir una exposición temática, como una barbacoa de verano o una exposición temática festiva, para atraer a los clientes a productos relacionados.
    • Creer espacio entre los diferentes tipos de verduras para ordenar.
    • Mejorar la iluminación.

En resumen, el personal demy-retail-advisor está compuesto por varios agentes de IA, cada uno con funciones, objetivos y herramientas únicos. Estos agentes colaboran en una serie de tareas, definidas en config/tasks.yaml aprovechando sus habilidades colectivas para lograr objetivos complejos. El archivo config/agents.yaml describe las capacidades y configuraciones de cada agente de su equipo.

Con herramientas con IA como esta, los pequeños y medianos minoristas pueden agilizar su proceso de toma de decisiones. Al igual que Sarah, puede transformar el rendimiento de su tienda con tecnología accesible, asequible y eficaz. Esta arquitectura también desbloquea otras oportunidades de IA en varios dominios, como el diseño de productos y la mejora de la experiencia del cliente. Su flexibilidad lo hace valioso más allá de la venta minorista, ya que permite a las empresas innovar y sobresalir en tareas específicas de los sectores.

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, implementar y monitorizar agentes de IA con el estudio IBM watsonx.ai.

Explore watsonx.ai
Agentes y asistentes de IA de IBM

Cree una productividad sin precedentes con uno de los conjuntos de capacidades más completos del sector para ayudar a las empresas a crear, personalizar y gestionar agentes y asistentes de IA. 

Explore los agentes de IA
IBM Granite

Ahorre más de un 90 % en costes con los modelos más pequeños y abiertos de Granite, diseñados para la eficiencia de los desarrolladores. Estos modelos listos para uso empresarial ofrecen un rendimiento excepcional frente a los puntos de referencia de seguridad y en una amplia gama de tareas empresariales, desde la ciberseguridad hasta RAG.

Explore Granite
Dé el siguiente paso

Automatice sus flujos de trabajo complejos y cree una productividad revolucionaria con uno de los conjuntos de capacidades más completos del sector para ayudar a las empresas a crear, personalizar y gestionar agentes de IA y asistentes. 

Explore el desarrollo de agentes de watsonx.ai Descubra watsonx Orchestrate