Combinación de la búsqueda semántica con grandes modelos lingüísticos para interacciones enriquecidas
Emprender un viaje hacia una IA conversacional similar a la humana representa un hito significativo en el ámbito de la inteligencia artificial. Imagine interactuar con un asistente virtual no solo para obtener información, sino para conversar y conectar de verdad. Imagine esto:
Usuario: "¿Cuál es el mejor restaurante italiano cercano?"
Respuesta de un bot de IA conversacional tradicional: "Hay un lugar llamado Bella Italia en Main Street".
Respuesta de un bot de IA conversacional con LLM: "¿Te apetece una pasta clásica o quizás una pizza al horno de leña? Hay un lugar acogedor llamado Trattoria Da Vinci, conocido por su cocina auténtica y su ambiente cálido, a solo unas cuadras. ¿Te doy indicaciones?"
Este escenario destaca el potencial transformador de combinar la Búsqueda Semántica con Grandes Modelos de Lenguaje (LLM) en la IA Conversacional. Al integrar la comprensión contextual y las capacidades de generación de lenguaje natural, las interacciones se vuelven no solo informativas, sino también profundamente enriquecedoras y personalizadas. Tomemos otro ejemplo del mundo de los bots acompañantes.
Imaginemos a un usuario conversando con su compañero robótico:
Usuario: "¡Cuéntame sobre los dinosaurios!"
Respuesta de un robot acompañante tradicional: "Los dinosaurios vivieron hace millones de años. Eran animales grandes que ahora están extintos".
Respuesta de un robot acompañante con LLM: "¡Claro! ¿Sabías que los dinosaurios vagaron por la Tierra hace millones de años, dominando la tierra, el mar y el cielo? Por ejemplo, el poderoso Tiranosaurio Rex era un temible depredador, mientras que el apacible Braquiosaurio se elevaba sobre las copas de los árboles, devorando hojas. ¿Qué tal si nos embarcamos en un viaje virtual para explorar juntos el período Jurásico? Podremos encontrarnos con diferentes especies de dinosaurios, aprender sobre sus hábitats e incluso presenciar batallas épicas entre depredadores y presas. ¿Listos para la aventura?"
Existe una gran diferencia entre ambas respuestas, siendo la última no solo informativa, sino también inmersiva. En este blog, analizaremos cómo Miko integra la Búsqueda Semántica con Grandes Modelos de Lenguaje para lograr conversaciones robóticas fluidas y similares a las humanas.
Flujo de proceso tradicional desde la consulta hasta la respuesta en IA conversacional
Como se destacó en nuestra entrada de blog anterior (Por determinar: Añadir un enlace), la conversación entre un humano y un robot comienza cuando el usuario introduce o pronuncia una consulta. Esta consulta se somete a un análisis semántico, que implica el preprocesamiento y la extracción de incrustaciones o características que capturan el significado semántico de la consulta mediante técnicas avanzadas como BERT.

A continuación, el sistema realiza una inferencia de intenciones mediante búsquedas de similitud o modelos de clasificación, determinando la intención del usuario según el contenido de la consulta. Esto implica comparar el contenido de la consulta con una base de datos de intenciones o patrones conocidos para identificar su propósito o objetivo subyacente. Por ejemplo, si el usuario pregunta por el pronóstico del tiempo, el sistema reconoce que la intención es buscar información meteorológica.
Finalmente, el robot formula una respuesta, basándose en un repositorio de respuestas preescritas, diseñadas con antelación para cubrir diversas consultas comunes. Las respuestas pueden obtenerse de una base de datos o de una API externa. Esta respuesta se entrega al usuario.
Integración de LLM en IA conversacional
Para lograr interacciones inmersivas y de aspecto humano, se pueden emplear Modelos de Lenguaje Grandes (MLG) en la fase de formulación de respuestas del flujo de proceso mencionado. Al formular la respuesta basándose en la intención inferida, el sistema puede utilizar un LLM para generar dinámicamente respuestas adaptadas al contexto de la consulta del usuario y a la intención identificada, alejándose del enfoque convencional de basarse únicamente en respuestas preescritas. Sin embargo, para integrar fluidamente los LLM, el flujo de proceso de IA conversacional requiere mejoras específicas, como se describe a continuación.
Paso 1: Crear una base de conocimiento contextual (BD)
El proceso de entrenamiento de un LLM requiere mucho tiempo y un uso intensivo de datos. Los LLM como ChatGPT se entrenan con datos hasta un momento específico, y su conocimiento solo se extiende hasta esa fecha límite. Por lo tanto, es posible que desconozcan los avances o la información posterior a ese período. Por lo tanto, es necesario ampliar el conocimiento de los LLM mediante información contextual relevante y actualizada basada en la consulta del usuario.
Un segundo punto a considerar es la idoneidad de la respuesta LLM para aplicaciones específicas. Los LLM se entrenan con bases de conocimiento extensas, lo que les permite proporcionar una amplia gama de respuestas. Sin embargo, en ciertas aplicaciones, como un bot acompañante infantil, es crucial no solo asegurar respuestas más rápidas, sino también garantizar interacciones apropiadas para la edad. Restringir el funcionamiento del LLM a un contexto específico puede mejorar significativamente su rendimiento, tanto en velocidad como en relevancia, al eliminar respuestas inapropiadas y adaptar su resultado para que se ajuste mejor al propósito previsto.

Para crear una base de conocimiento rica y contextual, las páginas de Wikipedia y los documentos relevantes se fragmentan en fragmentos de 200 a 500 palabras, en lugar de oraciones o frases. La estrategia de fragmentación depende del caso de uso, la precisión, la latencia y otros aspectos. Estos fragmentos se vectorizan (similar a la incrustación de oraciones) mediante un modelo de incrustación, y se crea un índice de estos vectores para facilitar una búsqueda rápida (p. ej.: ANNOY y FAISS (añadir enlace al blog 3)). Los fragmentos y secciones originales del documento se almacenan en una base de datos.
Paso 2: Recuperar el contexto relevante según la consulta (Retriever)
En este paso, la consulta del usuario se vectoriza durante la etapa de inferencia utilizando un modelo de incrustación similar y se realiza una búsqueda ANN (vecino más cercano aproximado) (añadir enlace al blog 3) para recuperar los K vectores relevantes principales de la base de conocimiento contextual. La asignación de los índices vectoriales al contenido textual real puede guardarse en una base de datos independiente o en la misma base de datos vectorial, y los K vectores relevantes principales se asocian con sus respectivos pasajes. Estos se introducen posteriormente en un modelo de reclasificación.
El reordenador reordena los K primeros pasajes mediante un enfoque combinado de reordenamiento léxico y semántico. Este paso mejora la precisión y la relevancia del contexto recuperado.
Paso 3: Diseñar y ampliar el mensaje y alimentarlo al LLM (Ingeniería de mensajes)
La solicitud o consulta del usuario, ahora complementada con el contexto recuperado, se introduce en el LLM. Este paso también aplica reglas y controles estrictos para minimizar las respuestas inapropiadas y las alucinaciones inducidas por el LLM.
Paso 4: Generar respuesta utilizando el LLM basado en el contexto aumentado (generador)
Se utiliza un modelo de lenguaje grande mejorado con información contextual adicional para generar respuestas precisas y contextualmente relevantes.
Paso 5: Realizar comprobaciones de seguridad y de contenido profano (capa de moderación)
La respuesta generada por el LLM se somete a validación y depuración mediante una capa de moderación antes de ser transmitida al usuario. Esta capa implementa reglas y verificaciones para garantizar la seguridad infantil, incluyendo la detección de lenguaje obsceno, sesgo de género, sesgo racial y opiniones políticas. Para garantizar una respuesta en tiempo real, se utilizan técnicas de almacenamiento en caché.
Paso 6: Actualizar periódicamente la base de conocimientos (ciclo de datos)
Para garantizar que la información contextual esté actualizada y se obtengan respuestas precisas y relevantes, la base de conocimientos se actualiza periódicamente. Se escanean las fuentes de información más recientes, se recuperan los fragmentos, se vectorizan y se almacenan los índices para su posterior recuperación.
La siguiente tabla resume los pasos anteriores. Esto también se conoce como Generación Aumentada de Recuperación o RAG.

Conversaciones enriquecedoras: interacciones similares a las humanas con LLM en IA
La integración de Grandes Modelos de Lenguaje (LLM) en sistemas de IA conversacional abre un amplio abanico de posibilidades para optimizar las interacciones entre humanos y máquinas. Al aprovechar los LLM, podemos crear respuestas más dinámicas y contextualizadas que se adaptan mejor a las necesidades y preferencias de los usuarios. Sin embargo, es fundamental reconocer que los LLM tienen un límite de conocimiento, lo que requiere un esfuerzo continuo para ampliarlo con información relevante y actualizada. Con una personalización minuciosa basada en la aplicación en cuestión, como los bots de acompañamiento infantil, podemos garantizar que los sistemas de IA conversacional basados en LLM proporcionen experiencias significativas y atractivas que evolucionen y mejoren con el tiempo. A medida que continuamos perfeccionando e innovando en este campo, el potencial de los LLM para transformar la IA conversacional en interacciones verdaderamente humanas está a nuestro alcance. ¡Esté atento a las próximas publicaciones del blog donde profundizaremos en cada uno de estos pasos!