Introducción
Trabajamos con permisos, que es nuestro sustento. Los LLM no lo son. Sin embargo, últimamente hemos estado reflexionando sobre cómo crear chatbots LLM seguros, teniendo en cuenta las consideraciones de permisos. Esta publicación no profundizará en cómo crear uno usando Oso Cloud ni filtrando la lista, sino que se presenta como una introducción a los chatbots LLM, su funcionamiento y las mejores prácticas para su creación.
¿Qué son los chatbots de LLM?
Los LLM, o grandes modelos lingüísticos, son modelos avanzados de IA entrenados con grandes cantidades de datos para comprender y producir un lenguaje similar al humano mediante la predicción de las secuencias de palabras más probables a partir del texto. Estos modelos son compatibles con una amplia gama de aplicaciones, como la creación de contenido, la finalización de textos, la traducción, el análisis de sentimientos y la generación de código.
Uno de los usos más comunes de los LLM es en los chatbots, herramientas basadas en inteligencia artificial que simulan conversaciones humanas. Los chatbots se utilizan ampliamente para la atención al cliente, la recuperación de información y la automatización de tareas, e interactúan con los usuarios mediante texto o voz.
Los LLM y los chatbots están intrínsecamente interconectados, ya que los LLM actúan como la tecnología subyacente —capacidades de comprensión y generación de lenguaje natural (NLU)— que impulsa a muchos chatbots modernos (como ChatGPT, Claude, Gemini, etc.). Cuando un usuario introduce una consulta, el chatbot la envía al LLM, que procesa el texto, considera el contexto mediante mecanismos de atención, recupera información relevante (potencialmente aumentada mediante generación aumentada por recuperación (RAG) o API externas) y genera una respuesta adecuada.
Esta arquitectura permite a los chatbots mantener el historial y el contexto de las conversaciones en múltiples intercambios. Esto les permite comprender consultas complejas y matices lingüísticos, y proporcionar respuestas precisas o realizar tareas.
Al aprovechar los LLM, los chatbots modernos logran mayor fluidez, coherencia y conocimiento contextual, lo que los hace muy efectivos para aplicaciones como asistentes virtuales, atención al cliente interactiva y generación de contenido personalizado.
Ejemplos de chatbots de LLM:
- ChatGPT (OpenAI): Un chatbot de IA de propósito general basado en la arquitectura GPT de OpenAI, diseñado para diversas tareas basadas en texto, como responder preguntas, generar contenido y brindar asistencia personalizada. Su principal fortaleza reside en su capacidad para abordar una amplia gama de temas y producir respuestas con un lenguaje similar al humano, utilizando el modelo GPT basado en transformadores para comprender y producir lenguaje de propósito general.
- Claude (Anthropic): Un chatbot de IA desarrollado por Anthropic, centrado en la alineación y seguridad de la IA, diseñado para priorizar las consideraciones éticas y, al mismo tiempo, proporcionar respuestas útiles. A diferencia de otros modelos, Claude prioriza la prudencia y la alineación, garantizando que las respuestas cumplan con las directrices de seguridad y los estándares éticos.
- Google Gemini (anteriormente Bard): Un chatbot de IA integrado en el ecosistema de búsqueda de Google que utiliza los modelos de lenguaje avanzados de Google para facilitar la gestión de información contextual en tiempo real. Este chatbot destaca por su estrecha conexión con la búsqueda de Google y su capacidad para recuperar información sin problemas dentro del entorno de búsqueda.
- Meta AI: Un chatbot con IA integrado en las plataformas de redes sociales de Meta, como Facebook y WhatsApp. El servicio se centra en respuestas personalizadas, recomendaciones y asistencia adaptadas al contexto social y de mensajería, aprovechando los modelos de lenguaje propios de Meta, optimizados para estas plataformas.
¿Cómo funcionan los chatbots de LLM?
Los modelos LLM utilizan técnicas de aprendizaje profundo, con especial énfasis en la arquitectura de transformadores, para procesar y generar texto. Estos modelos se entrenan con una amplia variedad de conjuntos de datos, como libros, sitios web y otras fuentes, lo que les permite aprender patrones, gramática, relaciones contextuales y estructuras semánticas dentro del lenguaje. Su funcionalidad se basa en un mecanismo de atención que permite al modelo centrarse en las partes relevantes del texto de entrada y comprender las dependencias a largo plazo y los matices contextuales. Este mecanismo, combinado con otras técnicas avanzadas como la Generación Aumentativa de Recuperación (RAG), permite a los modelos LLM generar respuestas altamente coherentes y contextuales al prestar atención dinámicamente a la información relevante, tanto de la entrada como de fuentes de conocimiento externas.
Atención
En el núcleo de los convertidores se encuentra un mecanismo llamado atención, que permite al modelo ponderar la importancia relativa de las diferentes palabras de una oración. Esto permite al modelo capturar dependencias a largo plazo y comprender el contexto de las palabras más allá de sus vecinas inmediatas. En lugar de procesar las palabras individualmente, la atención ayuda al modelo a comprender cómo interactúa cada palabra con otras en la estructura general de la oración.
El entrenamiento de un LLM implica procesar miles de millones de parámetros (pesos) que se ajustan con el tiempo para minimizar los errores de predicción. El modelo se entrena con grandes conjuntos de datos de texto y aprende a predecir la siguiente palabra de una secuencia, mejorando así su capacidad para producir texto coherente y contextualmente relevante a medida que procesa más datos.
Al generar texto, el modelo utiliza los patrones aprendidos para predecir la continuación más probable de una frase. Cada posible palabra siguiente se puntúa según su relación con las palabras anteriores, y el modelo selecciona la palabra más probable según el contexto aprendido.
Por ejemplo, en la oración «El gato se sentó en…», el mecanismo de atención ayuda al modelo a priorizar «alfombrilla» por sobre palabras menos importantes como «autobús» o «computadora» porque reconoce que «alfombrilla» coincide con el contexto y completa la oración de manera significativa.
De este modo, los LLM procesan el texto codificando la entrada a través de capas de mecanismos de atención, refinando las predicciones mediante entrenamiento y generando respuestas seleccionando las siguientes palabras más probables en función del texto que han aprendido.
Recuperación de generación aumentada
RAG (Generación Aumentada Recuperable) es una técnica que combina la recuperación de información con modelos generativos. En un sistema RAG, cuando el modelo recibe una solicitud, primero recupera la información relevante de una fuente externa (como un documento o una base de datos) mediante un mecanismo de búsqueda. A continuación, utiliza un modelo generativo (generalmente basado en una arquitectura de transformador) para generar una respuesta que incorpora tanto la entrada original como la información recuperada.
En RAG:
- BDescubrimiento: El modelo consulta una base de conocimiento externa o una colección de documentos para encontrar texto relevante.
- Producción: Un modelo basado en transformador, como GPT o BART, produce luego una respuesta basada en la entrada original y la información recuperada.
Si bien la arquitectura del transformador alimenta la parte generativa de RAG, RAG en sí se refiere al proceso de aumentar la salida con conocimiento externo recuperado. Esto mejora la capacidad del modelo para generar respuestas más informadas, contextualmente precisas y actualizadas, lo que le permite utilizar una gama más amplia de información más allá de su conocimiento preentrenado.
Por ejemplo, imaginemos que un usuario pregunta a un asistente con IA: "¿Cuáles son los últimos avances en computación cuántica?". Sin acceso a internet en tiempo real, un modelo generativo por sí solo podría tener dificultades para proporcionar una respuesta actualizada. Sin embargo, en un sistema RAG, el modelo puede buscar primero en una base de datos relevante de artículos de investigación o noticias recientes sobre computación cuántica. A continuación, genera una respuesta que incluye los últimos hallazgos de estas fuentes, lo que garantiza una respuesta más informada y precisa.
Por lo tanto, al aumentar su proceso generativo con conocimiento externo en tiempo real, RAG mejora la capacidad del modelo, haciéndolo más efectivo para responder preguntas específicas o dinámicas.
¿Cómo aprenden los chatbots de LLM?
aprendizaje no supervisado
Los LLM aprenden mediante aprendizaje no supervisado, donde se entrenan con grandes cantidades de datos de texto para predecir la siguiente palabra de una secuencia. Este proceso de entrenamiento implica alimentar al modelo con grandes conjuntos de datos sin etiquetar. Al no haber anotación humana explícita, el modelo aprende patrones, gramática, contexto y relaciones entre palabras simplemente reconociendo patrones y estructuras en el texto.
En el centro del proceso de aprendizaje se encuentra el descenso de gradiente, un algoritmo de optimización que ajusta los parámetros del modelo (ponderaciones) a lo largo del tiempo para minimizar los errores de predicción. El modelo comienza con ponderaciones aleatorias y, a medida que procesa cada entrada de texto, predice la siguiente palabra basándose en el texto. Si la predicción es incorrecta, el modelo actualiza sus ponderaciones para reducir futuros errores. Este proceso iterativo se repite miles de millones de veces en grandes conjuntos de datos, lo que permite al modelo producir texto consistente y adecuado al texto.
Durante el entrenamiento, el modelo aprende:
- norteCómo: Reglas que rigen la estructura del lenguaje.
- Semántica: El significado oculto en palabras y frases.
- Contexto: Cómo interactúan las palabras entre sí en diferentes situaciones, lo que permite al modelo gestionar dependencias y matices a largo plazo.
Un ejemplo práctico de aprendizaje no supervisado es la segmentación de clientes en marketing. Supongamos que una empresa cuenta con un amplio conjunto de datos sobre el comportamiento de sus clientes, pero no tiene categorías predefinidas como "clientes de alto valor" o "compradores habituales". Mediante la agrupación en clústeres de k-medias, un algoritmo no supervisado, el modelo puede agrupar automáticamente a los clientes según su comportamiento de compra (p. ej., consumidores de alto gasto, compradores ocasionales). Estos segmentos pueden ser la base de estrategias de marketing más específicas.
Puesta a punto bajo supervisión
Aunque los LLM se entrenan inicialmente mediante aprendizaje no supervisado, suelen perfeccionarse mediante aprendizaje supervisado para mejorar su rendimiento en tareas específicas. En este paso, el modelo se entrena con un conjunto de datos etiquetado más pequeño que proporciona el resultado correcto (por ejemplo, una etiqueta de clasificación o la respuesta a una pregunta). Esto permite al modelo aprender patrones más específicos de la tarea y mejorar su precisión para aplicaciones específicas, como la traducción o la respuesta a preguntas.
Por ejemplo, tras realizar una segmentación de clientes sin supervisión, una empresa de comercio electrónico podría querer clasificar las reseñas de los clientes como positivas, negativas o neutrales para optimizar sus campañas de correo electrónico. La empresa podría perfeccionar un modelo preentrenado utilizando un conjunto de datos etiquetado de reseñas de clientes con etiquetas de sentimiento. Este ajuste permite al modelo especializarse en la comprensión del sentimiento y mejorar su capacidad para clasificar futuras reseñas específicas de los productos de la empresa.
Transferencia de aprendizaje
Los LLM también utilizan el aprendizaje por transferencia, donde el conocimiento adquirido en una tarea se aplica a otras, a menudo no relacionadas. Esto permite que los modelos sean eficaces en diferentes escenarios sin necesidad de entrenamiento específico para cada tarea.
Partiendo del ejemplo del análisis de sentimientos, supongamos que una empresa desea ampliar las capacidades de su modelo para gestionar una gama más amplia de preguntas de los clientes, incluidas las de atención al cliente. En lugar de empezar desde cero, la empresa puede usar el aprendizaje por transferencia para aplicar la comprensión del modelo de análisis de sentimientos sobre el sentimiento del cliente a una nueva tarea, como responder a sus preguntas.
Por ejemplo, una empresa podría adaptar el modelo de sentimiento optimizado para un chatbot de atención al cliente. El chatbot ahora puede comprender las emociones de los comentarios de los clientes y responder de forma inteligente en función de ellas. Si un cliente expresa su frustración por una entrega tardía, el modelo utiliza su conocimiento de la emoción y el contexto para crear una respuesta compasiva y útil. Este enfoque aumenta significativamente la capacidad del chatbot para ayudar a los clientes sin necesidad de una nueva capacitación exhaustiva.
Construir un chatbot interno: por qué y cómo
Por qué: ¿Por qué deberíamos construir un chatbot interno?
- Acortar los ciclos de ventas: Un chatbot interno puede automatizar la generación de correos electrónicos salientes personalizados al recuperar datos de clientes de los sistemas CRM, lo que ayuda al equipo de ventas a producir mensajes de texto relevantes más rápido.
- Atención al cliente mejorada: Este chatbot puede integrarse con bases de conocimiento existentes y sistemas de tickets de soporte para brindar respuestas rápidas y precisas a los equipos de soporte, reducir los tiempos de respuesta y mejorar la satisfacción del cliente.
- Capacitación de nuevos empleados: Los chatbots pueden automatizar el proceso de incorporación y contratación al brindar acceso instantáneo a documentos internos, políticas y preguntas frecuentes, lo que ayuda a los nuevos empleados a aprender los procesos de la empresa de manera efectiva.
- Identificación de lagunas en la documentación:
Este chatbot puede identificar preguntas sin respuesta o solicitudes de información que no están cubiertas en la documentación actual y ayudar a resaltar áreas que necesitan actualización.
Cómo hacerlo: ¿Cómo construir un chatbot?
- Definición del alcance y acceso basado en roles:
Especifique el propósito del chatbot, ya sea para ventas, soporte o capacitación, e implemente el control de acceso basado en roles (RBAC) para garantizar que los usuarios solo reciban información relevante para sus roles. Por ejemplo, un representante de soporte podría tener acceso a recursos internos detallados, mientras que un empleado general podría acceder a información más básica. - Selección e integración de tecnología:
Utilice modelos basados en transformadores (p. ej., GPT) para la comprensión del lenguaje natural e intégrelos con API internas, bases de datos y bases de conocimiento. Utilice RAG para obtener información relevante en tiempo real para obtener respuestas. - Implementación de mecanismos de autorización:
Integra tu chatbot con un servicio de permisos (como Oso) para aplicar permisos según los roles y atributos de los usuarios. Esto garantiza que solo el personal autorizado pueda acceder a datos confidenciales de la empresa, como las cifras de ventas o el rendimiento de los empleados. - Entrenamiento y puesta a punto:
Entrene al chatbot con datos específicos del dominio e integre documentos internos y bases de conocimiento. Ajuste el modelo mediante aprendizaje supervisado para garantizar respuestas precisas en contexto, a la vez que garantiza que el modelo sepa qué información mantener oculta según el permiso del usuario. - Pruebas y seguimiento:
Pruebe el bot periódicamente con usuarios internos para identificar problemas de rendimiento e intentos de acceso no autorizado. Actualice continuamente la base de conocimientos del bot y ajuste el modelo para reflejar los cambios en los procesos, políticas y protocolos de seguridad de la empresa.
Cuatro maneras de crear un chatbot para un LLM: ventajas y desventajas
Modelos preentrenados y ajustes finos
Un enfoque común para construir un chatbot basado en LLM consiste en utilizar modelos preentrenados, como GPT o BERT, y luego perfeccionarlos con conjuntos de datos específicos del dominio. Los modelos preentrenados se entrenan con grandes corpus, lo que les permite procesar el lenguaje natural eficazmente. El perfeccionamiento de estos modelos implica entrenarlos con conjuntos de datos más pequeños y específicos para un caso de uso particular, como atención al cliente o documentación interna. Este enfoque permite al chatbot aprovechar las amplias capacidades lingüísticas del modelo preentrenado sin perder de vista las características del dominio objetivo.
Generación Aumentada de Recuperación (RAG)
RAG combina la recuperación de información relevante de fuentes externas con las capacidades generativas de los LLM. En un chatbot basado en RAG, cuando un usuario envía una consulta, el modelo primero consulta una base de conocimiento externa o una base de datos para obtener información relevante. La información recuperada se pasa al modelo generativo, que la utiliza para generar una respuesta. Este enfoque mejora la precisión de las respuestas al basarlas en datos en tiempo real, lo que lo hace especialmente útil para aplicaciones que requieren información actualizada. La principal ventaja de RAG reside en su capacidad para generar respuestas contextualmente precisas sin necesidad de un entrenamiento exhaustivo con conjuntos de datos específicos del dominio.
Por ejemplo, si el chatbot interno de Oso utiliza un enfoque basado en RAG para responder a las preguntas de los desarrolladores, puede consultar la documentación interna más reciente, así como los repositorios de GitHub, antes de generar una respuesta para garantizar que los desarrolladores reciban las respuestas más actualizadas y precisas sobre el sistema de permisos de Oso. La integración de la recuperación de datos en tiempo real con el modelo generativo permite obtener respuestas más precisas y personalizadas, lo que reduce la necesidad de actualizaciones frecuentes o de reentrenamiento del chatbot.
Sin embargo, la implementación de sistemas RAG puede ser compleja, ya que requiere la integración de fuentes de datos externas y la gestión de procesos de recuperación. Además, garantizar la calidad y la relevancia de los datos es esencial para mantener la eficacia del sistema.
Sistemas basados en leyes
Los sistemas basados en reglas operan con un conjunto de reglas predefinidas, donde un chatbot sigue patrones específicos o árboles de decisión para generar respuestas. Este enfoque se utiliza generalmente para tareas con un alcance definido, como responder preguntas frecuentes o ejecutar comandos específicos. Los sistemas basados en reglas no requieren datos de entrenamiento a gran escala, lo que los hace menos intensivos en recursos que los sistemas basados en LLM. Sin embargo, tienen limitaciones para gestionar entradas inesperadas del usuario o conversaciones complejas, ya que solo pueden responder según las reglas definidas inicialmente. Con el tiempo, pueden requerir mantenimiento para adaptarse a las cambiantes necesidades de los usuarios o a los requisitos del negocio.
En Oso, un ejemplo de chatbot basado en reglas podría incluir preguntas predefinidas como "Muéstrame el alcance de este proyecto de migración" o "¿En qué parte del código definimos la función?". El chatbot responde según estas reglas fijas. Si bien este enfoque funciona bien con preguntas bien definidas, no puede gestionar entradas más complejas o inesperadas y requiere la derivación a un agente humano o la actualización del conjunto de reglas.
Enfoques combinados
Los enfoques híbridos combinan las ventajas de los LLM, los RAG y los sistemas basados en reglas para superar las limitaciones de cada método. Por ejemplo, un chatbot podría usar LLM para procesar y comprender la entrada en lenguaje natural, RAG para recuperar información relevante de una fuente externa y usar lógica basada en reglas para tareas específicas o para ejecutar flujos de trabajo estructurados. Este enfoque permite al chatbot gestionar tanto consultas dinámicas y contextuales como tareas que requieren respuestas predefinidas y rígidas. Sin embargo, los sistemas híbridos introducen complejidades en el diseño y el mantenimiento, ya que requieren la integración de múltiples componentes y garantizan una interacción fluida entre diferentes métodos.
Soluciones basadas en API
Las soluciones basadas en API permiten que un chatbot interactúe con sistemas externos para recuperar datos, activar acciones o realizar funciones específicas. Este enfoque es especialmente útil para chatbots que necesitan acceder a datos en tiempo real, realizar transacciones o integrarse con otros sistemas de software. Por ejemplo, un chatbot puede llamar a una API para recuperar datos de clientes o procesar una solicitud de pago. Si bien las soluciones basadas en API amplían las capacidades de un chatbot más allá de las simples tareas conversacionales, también crean dependencias de servicios externos. Estas dependencias pueden generar posibles puntos de fallo si las API externas fallan, tienen acceso limitado o sufren cambios que alteren la compatibilidad con el chatbot. Además, el uso de API externas plantea cuestiones de seguridad y privacidad de datos, especialmente al tratar con información confidencial o personal.
Riesgos de seguridad de los chatbots y mejores prácticas
Al desarrollar un chatbot basado en un LLM, es fundamental considerar los posibles riesgos de seguridad que podrían comprometer tanto la integridad del chatbot como la privacidad de datos confidenciales. Uno de los principales riesgos es el engaño, en el que el LLM produce información falsa o engañosa. Esto puede ser peligroso, especialmente en áreas de gran importancia como la atención al cliente o la documentación interna, donde un asesoramiento incorrecto puede generar confusión o incluso pérdidas financieras.
Los permisos son cruciales para proteger un chatbot, especialmente al restringir el acceso a información confidencial. Sin controles de acceso adecuados, existe un riesgo considerable de que usuarios no autorizados accedan a información a la que no deberían tener acceso.
Por ejemplo, si no se aplican las restricciones de acceso adecuadas, un chatbot podría revelar inadvertidamente detalles del rendimiento personal de un empleado. De igual manera, si el chatbot carece de medidas de seguridad para evitar consultas no autorizadas, podría quedar expuesta información confidencial, como el historial familiar de un compañero.
Otras posibles historias de terror podrían incluir:
- Un empleado que busca información sobre los ingresos de otros empleados para compararla con sus propios ingresos.
- Un empleado que busca información sobre seguros de salud pero accidentalmente nota la condición médica de un compañero de trabajo, como cáncer de mama, y pregunta al respecto.
- Un equipo que busca un documento fuera de su departamento obtiene acceso inadvertidamente a datos financieros confidenciales de la empresa.
- Un empleado de nivel inferior que intenta recuperar detalles confidenciales del proyecto del equipo superior y obtener acceso a planes estratégicos o negociaciones confidenciales que no está autorizado a ver.
- Un usuario busca información sobre una política específica de una empresa pero accidentalmente recibe versiones antiguas o confidenciales de la política que están desactualizadas o clasificadas.
- Un contratista que obtiene acceso a documentos internos que contienen propiedad intelectual (PI) o secretos comerciales que no están relacionados con su función temporal.
Conclusión
Como resultado, desarrollar chatbots LLM seguros requiere un equilibrio preciso entre técnicas avanzadas de IA y mecanismos de autenticación robustos. Al integrar la recuperación aumentada, aprovechar modelos preentrenados e implementar controles de acceso robustos basados en roles, las empresas pueden garantizar que sus chatbots no solo sean eficientes, sino también seguros, ofreciendo interacciones personalizadas y contextualmente precisas.
Para obtener más información sobre cómo construir su chatbot LLM y protegerlo mediante autenticación, únase al seminario web de O'Reilly SuperStream: Recuperación-Generación Aumentada en Producción.









