Chat de IA de Lumi

Lumi: preventa más ágil con IA generativa, integración de datos y gestión de estado

11 de diciembre de 2024

Lumi resuelve las ineficiencias de las primeras interacciones con clientes combinando modelos de lenguaje avanzados e integraciones de datos internos para automatizar la preventa. Acompaña al cliente potencial en la identificación de necesidades, la explicación de proyectos y capacidades y la organización de reuniones con el equipo comercial. Así acelera el ciclo de venta y mejora la calidad de las oportunidades. Su base técnica utiliza flujos con estado, API internas y modelos avanzados para ofrecer interacciones precisas y contextualizadas.

Este artículo analiza la arquitectura técnica, las integraciones de datos y la lógica de estado de nuestro agente, y explica cómo crea un proceso de preventa más eficiente y automatizado manteniendo la seguridad y el cumplimiento.

Arquitectura técnica del agente de preventa con IA generativa

El núcleo del agente tiene una arquitectura modular y flexible que integra grandes modelos de lenguaje mediante LangChain. Actualmente utilizamos GPT-4o de OpenAI por su razonamiento y coherencia, pero podemos sustituirlo por otros modelos según evolucionen el rendimiento, el coste o las funciones. Esto incluye alojarlos internamente para evitar que los datos salgan de tu entorno.

Comprensión del lenguaje y razonamiento

Actualmente, GPT-4o comprende el lenguaje natural y genera respuestas. Al integrarlo mediante componentes de LangChain mantenemos una capa de abstracción clara que facilita cambiar a otros modelos, desde opciones de código abierto hasta modelos empresariales especializados. Este enfoque protege la inversión frente a cambios rápidos del mercado y permite adaptarse a largo plazo.

Capa de acceso a datos mediante API internas

Parte de la inteligencia del agente procede de recuperar información relevante bajo demanda. El sistema consulta API internas para obtener historiales de proyectos, información de clientes y perfiles de consultores. LangChain incorpora estos datos al contexto para combinar la capacidad lingüística con conocimiento actualizado y específico.

Gestión del estado y de la conversación

Una máquina de estados ligera implementada con LangGraph sigue la fase de la conversación. Las instrucciones y acciones se adaptan a si el usuario está definiendo necesidades, consultando información de la empresa o concertando una reunión. Así, las respuestas respetan el flujo de conversación y la lógica del negocio.

Despliegue modular y escalable

El despliegue en contenedores sobre nuestra infraestructura en la nube y las herramientas de orquestación permiten escalar añadiendo instancias. La caché, el reparto de carga y los componentes de observabilidad mantienen el rendimiento con distintas cargas de tráfico. La integración con LangGraph permite incorporar API, fuentes de datos o modelos sin reescribir grandes cantidades de código.

Arquitectura de alto nivel

El siguiente diagrama presenta la arquitectura general del sistema:

Arquitectura de Lumi

  • Interfaz de chat: aplicación web en React desarrollada con Next.js. Permite interactuar con el asistente, muestra las respuestas de Lumi Graph y recoge las entradas del usuario.
  • Lumi Graph: lógica central del asistente. Determina las instrucciones del modelo, selecciona herramientas y gestiona las fases de conversación. Coordina los componentes para ofrecer respuestas precisas y contextualizadas y actualiza el estado del chat.
  • Gran modelo de lenguaje (LLM): interpreta las instrucciones de Lumi Graph, las combina con el historial y genera respuestas relevantes. También resume las conversaciones e identifica su fase actual.
  • Fuentes de datos: fuentes internas o externas de información en tiempo real. Lumi Graph recupera datos cuando lo solicita el modelo para enriquecer las respuestas con contexto actualizado.
  • Estado del chat: conserva el historial y gestiona el estado de la conversación para mantener la coherencia entre interacciones.
  • Base de datos de conversaciones: capa de persistencia del estado del chat que permite recuperar la conversación y continuarla en cualquier momento.


Detección de fases y gestión del flujo

Identificar la fase de preventa y adaptarse a ella es esencial para responder de forma relevante y oportuna. Estructurar la interacción en descubrimiento de necesidades, información sobre la empresa y sus proyectos y programación de una reunión garantiza una progresión lógica y una experiencia más fluida.

Definición de fases y desencadenantes

Cada fase —descubrimiento de necesidades, información de empresa y proyectos y programación de reuniones— tiene condiciones claras de entrada y salida. Cuando el usuario pregunta por proyectos o tecnologías, el agente pasa del análisis de necesidades a describir proyectos relacionados mediante herramientas. Cuando muestra interés suficiente, la conversación avanza hacia la reunión.

Máquina de estados con LangGraph

LangGraph permite mantener una representación estructurada de la conversación, almacenar información relevante, seguir la intención del usuario y guiar el paso entre fases. Así, el modelo recibe siempre el contexto adecuado y mejora la coherencia y precisión.

Instrucciones y lógica adaptadas al contexto

La lógica cambia según el estado. En el descubrimiento de necesidades, el agente plantea preguntas abiertas para identificar casos de uso. En la fase de información, consulta API internas para presentar proyectos y experiencia del equipo. Al organizar una reunión, resume la conversación y recoge disponibilidad con un formulario más tradicional. En cada paso, las instrucciones adaptadas al contexto producen respuestas coherentes y útiles.

La siguiente representación de LangGraph muestra lo que ocurre cada vez que el usuario envía un mensaje. Antes de redactar la respuesta se realizan estas acciones:

Grafo de Lumi

  • determineState: utiliza el modelo para analizar los últimos mensajes e identificar el estado actual, guiando la selección de instrucciones y herramientas.
  • meetingDetails: cuando la conversación alcanza su objetivo, el modelo extrae datos como el nombre, el resumen del proyecto, el correo y la empresa. Con ellos genera un formulario para solicitar una reunión.
  • callModel & tools: según el estado identificado por determineState, se invoca al modelo con las instrucciones y herramientas correspondientes. Si es necesario, solicita ejecutar herramientas, recupera sus resultados y actualiza la respuesta.

Integración de API y herramientas

Una fortaleza del agente es su integración con servicios internos, desde bases de datos de proyectos hasta directorios de consultores. Estas conexiones enriquecen sus respuestas de forma dinámica con información precisa y actualizada.


API de datos internos

Los puntos de acceso específicos proporcionan proyectos actuales, referencias de clientes y perfiles profesionales. Al recuperarlos bajo demanda, el agente puede responder con información relevante y destacar experiencia o casos de éxito relacionados con las necesidades del cliente.

Flujos orquestados con LangGraph

LangGraph coordina la recuperación de datos y activa las API adecuadas en cada fase. Durante la información sobre proyectos, incorpora al contexto resúmenes de casos relevantes. Al pasar a la programación de reuniones, ayuda a crear un resumen y mostrar un formulario de disponibilidad.

Integración contextual con el modelo

Tras consultar las API internas, el agente incorpora los datos al contexto de las instrucciones. Así puede citar proyectos recientes o proponer un consultor adecuado sin que el usuario tenga que explorar un recurso estático. Combinar datos en tiempo real y modelos avanzados permite respuestas muy específicas.

Mejoras de interfaz e interacción

La arquitectura garantiza datos precisos y respuestas contextualizadas, pero la experiencia también depende de cómo se presenta la información. Hemos añadido componentes interactivos más allá del texto Markdown para que la conversación sea intuitiva y visualmente atractiva.

Presentación de datos en tarjetas

Cuando el usuario pregunta por un proyecto o la experiencia de un consultor, el agente muestra una tarjeta con los detalles principales. Los resúmenes y perfiles se presentan en un diseño claro y legible para evaluar rápidamente si nuestra oferta encaja, reducir el esfuerzo de comprensión y mejorar la claridad.

Tarjeta de Daniel Arroyo

Formularios interactivos para concertar reuniones

Al llegar a esta fase, aparece un formulario con datos cumplimentados a partir de la conversación, como la empresa, el resumen del proyecto o los plazos preferidos. Esto reduce fricciones y permite concretar la reunión sin repetir información.

Formulario de Lumi para concertar reuniones

Integración fluida con los procesos internos

Las tarjetas y formularios se muestran en coordinación con la máquina de estados de LangGraph y las respuestas del modelo. La interfaz se actualiza cuando las API devuelven datos. Al completar el formulario, la misma lógica procesa la solicitud y envía al equipo un correo con los detalles, conectando la inteligencia del servidor con la facilidad de uso de la interfaz.

Conclusión y perspectivas

Al combinar un modelo de lenguaje, flujos con estado, API internas y una interfaz completa, nuestro agente demuestra cómo las conversaciones inteligentes pueden transformar la preventa. Su potencial va más allá de esta primera aplicación.

La misma arquitectura puede aplicarse a otras fases, desde la incorporación del cliente hasta el soporte posterior. Bases de conocimiento técnico, integraciones de colaboradores o analítica de uso pueden enriquecer la conversación. Es posible añadir fases y subflujos para comparar proveedores, explorar diseños de soluciones o resolver incidencias técnicas.

La plataforma puede reconfigurarse y escalar hacia nuevos ámbitos. La arquitectura modular, los flujos flexibles de LangGraph y la separación de componentes permiten introducir mejoras sin empezar desde cero. Así podemos adaptar y ampliar continuamente una base que acelera la preventa y respalda todas las interacciones con los clientes.

Daniel Arroyo
Por Daniel Arroyo
CTO