Ir al contenido principal

Generación aumentada por recuperación

Resumen

  • Aprende cómo funciona la generación aumentada por recuperación (RAG) al combinar modelos de lenguaje grandes (LLMs) con datos externos y en tiempo real para obtener resultados más precisos y relevantes.
  • Descubre cómo RAG resuelve problemas específicos, como reducir las alucinaciones y ofrecer respuestas específicas para cada ámbito, todo ello sin necesidad de costosos procesos de reentrenamiento.
  • Explora casos de uso reales para RAG y las tendencias futuras en industrias como atención al cliente, cumplimiento y búsqueda empresarial.

¿Qué es la generación aumentada por recuperación, o RAG?

La generación aumentada por recuperación (RAG) es un marco de IA híbrido que refuerza los modelos de lenguaje grandes (LLMs) al combinarlos con fuentes de datos externas y actualizadas. En lugar de basarse únicamente en datos de entrenamiento estáticos, RAG recupera documentos relevantes en el momento de la consulta y los introduce en el modelo como contexto. Al incorporar datos nuevos y sensibles al contexto, la IA puede generar respuestas más precisas, actuales y específicas para cada ámbito.

RAG se está convirtiendo rápidamente en la arquitectura de referencia para crear aplicaciones de IA de nivel empresarial. Según encuestas recientes, más del 60% de las organizaciones están desarrollando herramientas de recuperación basadas en inteligencia artificial para mejorar la confiabilidad, reducir las alucinaciones y personalizar los resultados utilizando datos internos.

A medida que la IA generativa se expande a funciones empresariales como el servicio al cliente, la gestión del conocimiento interno y el cumplimiento, la capacidad de RAG para cerrar la brecha entre la IA general y el conocimiento específico de la organización la convierte en una base esencial para implementaciones confiables en el mundo real.

Más temas para descubrir

Cómo funciona RAG

RAG mejora el resultado de un modelo de lenguaje al inyectarle información contextual y en tiempo real recuperada de una fuente de datos externa. Cuando un usuario envía una consulta, el sistema primero activa el modelo de recuperación, que utiliza una base de datos vectorial para identificar y “recuperar” documentos, bases de datos u otras fuentes semánticamente similares para obtener información relevante. Una vez identificados, combina esos resultados con el prompt de entrada original y lo envía a un modelo de IA generativa, que sintetiza la nueva información en su propio modelo.

Esto permite que el LLM genere respuestas más precisas y contextualizadas, basadas en datos actualizados o específicos de la empresa, en lugar de depender únicamente del modelo con el que fue entrenado.

Los pipelines de RAG suelen implicar cuatro pasos: preparación y división de documentos, indexación de vectores, recuperación y aumentación del prompt. Este flujo de proceso ayuda a los desarrolladores a actualizar las fuentes de datos sin reentrenar el modelo, lo que convierte a RAG en una solución escalable y rentable para crear aplicaciones de LLM en dominios como la atención al cliente, las bases de conocimiento y la búsqueda interna.

¿Qué desafíos resuelve el enfoque de generación aumentada por recuperación?

Problema 1: Los modelos LLM no conocen tus datos

Los LLM usan modelos de aprendizaje profundo y se entrenan con conjuntos de datos masivos para comprender, resumir y generar contenido novedoso. La mayoría de los LLM se entrenan con una amplia gama de datos públicos, por lo que un modelo puede responder a muchos tipos de tareas o preguntas. Una vez entrenados, muchos LLM no tienen la capacidad de acceder a datos más allá de la fecha de corte de sus datos de entrenamiento. Esto hace que los LLM sean estáticos y puede hacer que respondan de forma incorrecta, den respuestas desactualizadas o alucinen cuando se les hacen preguntas sobre datos con los que no se han entrenado.

Problema 2: Las aplicaciones de IA deben aprovechar los datos personalizados para ser eficaces.

Para que los LLM den respuestas relevantes y específicas, las organizaciones necesitan que el modelo entienda su dominio y proporcione respuestas a partir de sus datos, en lugar de dar respuestas amplias y generalizadas. Por ejemplo, las organizaciones crean bots de atención al cliente con LLM, y esas soluciones deben dar respuestas específicas de la empresa a las preguntas de los clientes. Otros están creando bots de Q&A internos para responder las preguntas de los empleados sobre datos internos de RR. HH. ¿Cómo crean las empresas tales soluciones sin reentrenar esos modelos?

Solución: La aumentación por recuperación ahora es un estándar de la industria

Una forma fácil y popular de usar tus propios datos es proporcionarlos como parte del prompt con el que consultas el modelo LLM. Esto se llama generación aumentada por recuperación (RAG), ya que se recuperan los datos relevantes y se usan como contexto aumentado para el LLM. En lugar de depender únicamente del conocimiento derivado de los datos de entrenamiento, un flujo de trabajo RAG extrae información relevante y conecta los LLM estáticos con la recuperación de datos en tiempo real.

Con la arquitectura RAG, las organizaciones pueden implementar cualquier modelo LLM y aumentarlo para que devuelva resultados relevantes para su organización, dándole una pequeña cantidad de sus datos sin los costos y el tiempo del ajuste fino o el preentrenamiento del modelo.

¿Cuáles son los casos de uso de los LLM?

Hay muchos casos de uso diferentes para RAG. Los más comunes son:

  1. Chatbots de preguntas y respuestas: La incorporación de LLM en los chatbots les permite obtener respuestas más precisas de forma automática a partir de los documentos y las bases de conocimiento de la empresa. Los chatbots se usan para automatizar el soporte al cliente y el seguimiento de clientes potenciales del sitio web para responder preguntas y resolver problemas rápidamente.

    Por ejemplo, Experian, una empresa multinacional de corretaje de datos y informes de crédito al consumidor, quería crear un chatbot para satisfacer necesidades internas y de cara al cliente. Rápidamente se dieron cuenta de que sus tecnologías actuales de chatbot tenían dificultades para adaptarse a la demanda. Al construir su chatbot de GenAI, Latte, en la plataforma de inteligencia de datos de Databricks, Experian pudo mejorar el manejo de prompts y la precisión del modelo, lo que le dio a sus equipos mayor flexibilidad para experimentar con diferentes prompts, refinar los resultados y adaptarse rápidamente a las evoluciones de la tecnología GenAI.

  2. Aumento de la búsqueda: La incorporación de LLM en los motores de búsqueda que aumentan los resultados de la búsqueda con respuestas generadas por LLM puede responder mejor a las consultas informativas y facilitar que los usuarios encuentren la información que necesitan para hacer su trabajo.
  3. Motor de conocimiento: Haz preguntas sobre tus datos (p. ej., documentos de RR. HH. o de cumplimiento): Los datos de la empresa se pueden usar como contexto para los LLM y permitir que los empleados obtengan respuestas a sus preguntas fácilmente, incluidas las preguntas de RR. HH. relacionadas con los beneficios y las políticas, y las preguntas sobre seguridad y cumplimiento.

    Una de las formas en que se está implementando es en Cycle & Carriage, un grupo automotriz líder en el sudeste asiático. Recurrieron a Databricks Mosaic AI para desarrollar un chatbot RAG que mejora la productividad y la interacción con el cliente aprovechando sus bases de conocimiento patentadas, como manuales técnicos, transcripciones de soporte al cliente y documentos de procesos de negocio. Esto facilitó a los empleados la búsqueda de información mediante consultas en lenguaje natural que ofrecen respuestas contextuales y en tiempo real.

¿Cuáles son los beneficios de RAG?

El enfoque RAG tiene una serie de beneficios clave, entre los que se incluyen:

  1. Brindar respuestas actualizadas y precisas: RAG garantiza que la respuesta de un LLM no se base únicamente en datos de entrenamiento estáticos y obsoletos. Más bien, el modelo utiliza fuentes de datos externos actualizados para proporcionar respuestas.
  2. Reducción de respuestas imprecisas o alucinaciones: Al basar el resultado del modelo LLM en conocimiento externo y relevante, RAG intenta mitigar el riesgo de responder con información incorrecta o inventada (también conocidas como alucinaciones). Los resultados pueden incluir citas de las fuentes originales, lo que permite la verificación humana.
  3. Proporcionar respuestas relevantes y específicas del dominio: Con RAG, el LLM podrá proporcionar respuestas contextualmente relevantes adaptadas a los datos de dominio específico o de propiedad de una organización.
  4. Eficiencia y rentabilidad: en comparación con otros enfoques para personalizar los LLM con datos específicos de un dominio, RAG es sencillo y rentable. Las organizaciones pueden implementar RAG sin necesidad de personalizar el modelo. Esto es especialmente beneficioso cuando los modelos necesitan actualizarse con frecuencia con datos nuevos.

¿Cuándo debes usar RAG y cuándo debes ajustar el modelo?

RAG es un buen punto de partida, ya que es fácil y posiblemente sea totalmente suficiente para algunos casos de uso. El ajuste fino es más apropiado en una situación diferente, cuando se quiere que el comportamiento del LLM cambie o que aprenda un "lenguaje" diferente. No son mutuamente excluyentes. Como paso futuro, es posible considerar el fine-tuning de un modelo para que comprenda mejor el lenguaje del dominio y la forma de resultado deseada, y también usar RAG para mejorar la calidad y la relevancia de la respuesta.

Cuando quiero personalizar mi LLM con datos, ¿cuáles son todas las opciones y qué método es el mejor (prompt engineering vs. RAG vs. fine-tune vs. pretrain)?

Existen cuatro patrones arquitectónicos a considerar al personalizar una aplicación de LLM con los datos de tu organización. Estas técnicas se describen a continuación y no son mutuamente excluyentes. Más bien, pueden (y deben) combinarse para aprovechar las fortalezas de cada una.

MétodoDefiniciónCaso de uso principalRequisitos de datosBeneficiosConsideraciones

Ingeniería de prompts

Elaboración de indicaciones especializadas para guiar el comportamiento de los LLMGuía rápida y en tiempo real del modeloNingunoRápido, económico, no requiere entrenamientoMenos control que el ajuste preciso

Generación aumentada por recuperación (RAG)

Combinación de un LLM con recuperación de conocimientos externos Conjuntos de datos dinámicos y conocimiento externoBase de conocimientos o base de datos externa (por ejemplo, base de datos vectorial). Contexto actualizado dinámicamente, precisión mejoradaAumenta la longitud de las indicaciones y el cálculo de inferencias

Ajuste preciso

Adaptación de un LLM preentrenado a conjuntos de datos o dominios específicosEspecialización en un dominio o tareaMiles de ejemplos específicos de dominios o instruccionesControl granular, alta especializaciónRequiere datos etiquetados, costo de cómputo

Preentrenamiento

Entrenamiento de un LLM desde ceroTareas únicas o corpus específicos del dominioGrandes conjuntos de datos (miles de millones a billones de tokens)Control máximo, adaptado a necesidades específicasMuy demandante en cuanto al uso de recursos

Independientemente de la técnica seleccionada, construir una solución de manera bien estructurada y modularizada garantiza que las organizaciones estén preparadas para iterar y adaptarse. Obtén más información sobre este enfoque y mucho más en The Big Book of MLOps.

Desafíos comunes en la implementación de RAG

Implementar RAG a gran escala presenta varios desafíos técnicos y operativos.

  1. Calidad de la recuperación. Incluso los LLMs más potentes pueden generar respuestas deficientes si recuperan documentos irrelevantes o de baja calidad. Por lo tanto, es crucial desarrollar un pipeline de recuperación eficaz que incluya una selección cuidadosa de modelos de embedding, métricas de similitud y estrategias de clasificación.
  2. Limitaciones de la ventana de contexto. Con la totalidad de la documentación del mundo a su alcance, los riesgos pueden ser inyectar demasiado contenido en el modelo, lo que lleva a fuentes truncadas o a respuestas diluidas. Las estrategias de fragmentación deben ponderar la coherencia semántica con la eficiencia de los tokens.
  3. Actualización de los datos. El beneficio de RAG es su capacidad para recopilar información actualizada. Sin embargo, los índices de documentos pueden desactualizarse rápidamente sin trabajos de ingesta programados o actualizaciones automatizadas. Al asegurarte de que tus datos estén actualizados, puedes evitar alucinaciones o respuestas desactualizadas.
  4. Latencia. Al trabajar con grandes conjuntos de datos o API externas, la latencia puede interferir con la recuperación, la clasificación y la generación.
  5. Evaluación de RAG. Debido a la naturaleza híbrida de RAG, los modelos tradicionales de evaluación de IA se quedan cortos. Evaluar la precisión de los resultados requiere una combinación de juicio humano, puntuación de relevancia y comprobaciones de solidez para evaluar la calidad de la respuesta.
     

¿Qué es una arquitectura de referencia para aplicaciones RAG?

Hay muchas formas de implementar un sistema de generación aumentada por recuperación, dependiendo de las necesidades específicas y los matices de los datos. A continuación se muestra un flujo de trabajo comúnmente adoptado para proporcionar una comprensión básica del proceso.

  1. Preparación de datos: los datos de los documentos se recopilan junto con los metadatos y se someten a un preprocesamiento inicial, por ejemplo, el tratamiento de la información de identificación personal (detección, filtrado, censura, sustitución). Para poder utilizarse en aplicaciones RAG, los documentos deben dividirse en fragmentos de longitud adecuada en función del modelo de incrustación elegido y de la aplicación LLM posterior que utilice estos documentos como contexto.
  2. Indexa datos relevantes: genera incrustaciones de documentos e hidrata un índice de búsqueda vectorial con estos datos.
  3. Recuperar datos relevantes: Recuperar partes de tus datos que son relevantes para la consulta de un usuario. Luego, esos datos de texto se proporcionan como parte del prompt que se usa para el LLM.
  4. Crear aplicaciones de LLM: Encapsula los componentes del aumento de prompts y la consulta al LLM en un endpoint. Este endpoint puede luego exponerse a aplicaciones como chatbots de Q&A a través de una API de REST simple.

Databricks también recomienda alcuni elementi architettonici chiave di un'architettura RAG:

  • Base de datos de vectores: Algunas aplicaciones de LLM (pero no todas) usan bases de datos de vectores para búsquedas rápidas de similitud, con mayor frecuencia para proporcionar contexto o conocimiento del dominio en las consultas de LLM. Para garantizar que el modelo de lenguaje implementado tenga acceso a información actualizada, se pueden programar actualizaciones periódicas de la base de datos vectorial como una tarea. Ten en cuenta que la lógica para recuperar información de la base de datos de vectores e inyectar información en el contexto del LLM se puede empaquetar en el artefacto del modelo registrado en MLflow utilizando los tipos de modelo LangChain o PyFunc de MLflow.
  • MLflow LLM Deployments o Model Serving: En las aplicaciones basadas en LLM donde se usa una API de LLM de terceros, el soporte de MLflow LLM Deployments o Model Serving para modelos externos se puede utilizar como una interfaz estandarizada para enrutar solicitudes de proveedores como OpenAI y Anthropic. Además de proporcionar una puerta de enlace de API de nivel empresarial, MLflow LLM Deployments o Model Serving centraliza la gestión de claves de API y ofrece la capacidad de aplicar controles de costos.
  • Servicio de modelos: En el caso de RAG que utiliza una API de terceros, un cambio arquitectónico clave es que la canalización del LLM realizará llamadas a API externas, desde el punto de conexión del servicio de modelos a las API de LLM internas o de terceros. Cabe señalar que esto añade complejidad, posible latencia y otra capa de gestión de credenciales. Por el contrario, en el ejemplo del modelo ajustado, se implementarán el modelo y su entorno.

RECURSOS

Clientes de Databricks que usan RAG

JetBlue

JetBlue implementó "BlueBot", un chatbot que usa modelos de IA generativa de código abierto complementados con datos corporativos e impulsado por Databricks. Todos los equipos de JetBlue pueden usar este chatbot para acceder a los datos que se rigen por el rol. Por ejemplo, el equipo de finanzas puede ver los datos de SAP y las presentaciones regulatorias, pero el equipo de operaciones solo verá la información de mantenimiento.

Lee también este artículo.

Chevron Phillips

Chevron Phillips Chemical usa Databricks para apoyar sus iniciativas de IA generativa, incluida la automatización del procesamiento de documentos.

Thrivent Financial

Thrivent Financial está explorando la IA generativa para mejorar la búsqueda, producir información más accesible y mejor resumida, y mejorar la productividad de la ingeniería.

¿Dónde puedo encontrar más información sobre la generación aumentada por recuperación?

Existen muchos recursos disponibles para encontrar más información sobre los LLM, entre ellos:

Blogs

Libros electrónicos

Demostraciones

Contacta a Databricks para programar una demo y hablar con alguien sobre tus proyectos de LLM y de generación aumentada por recuperación (RAG).

Futuro de la tecnología RAG

RAG está evolucionando rápidamente de ser una solución improvisada a un componente fundamental de la arquitectura de AI empresarial. A medida que los LLM se vuelven más capaces, el rol de RAG está cambiando. Se está pasando de simplemente llenar las lagunas de conocimiento a sistemas estructurados, modulares y más inteligentes.

Una de las formas en las que RAG se está desarrollando es a través de arquitecturas híbridas, donde RAG se combina con herramientas, bases de datos estructuradas y function-calling agents. En estos sistemas, RAG proporciona una base no estructurada, mientras que los datos estructurados o las API se encargan de tareas más precisas. Estas arquitecturas multimodales brindan a las organizaciones una automatización de extremo a extremo más confiable.

Otro desarrollo importante es el coentrenamiento de recuperador-generador. Este es un modelo en el que el recuperador RAG y el generador se entrenan conjuntamente para optimizar la calidad de las respuestas de cada uno. Esto puede reducir la necesidad de ingeniería de prompts manual o de ajuste fino, y da como resultado aspectos como el aprendizaje adaptativo, la reducción de las alucinaciones y un mejor rendimiento general de los recuperadores y generadores.

A medida que las arquitecturas LLM maduren, es probable que RAG se vuelva más fluido y contextual. Más allá de los almacenamientos finitos de memoria e información, estos nuevos sistemas serán capaces de manejar flujos de datos en tiempo real, razonamiento sobre múltiples documentos y memoria persistente, lo que los convierte en asistentes expertos y confiables.

Preguntas frecuentes (FAQ)

¿Qué es la generación aumentada por recuperación (RAG)?
RAG es una arquitectura de IA que refuerza los LLM recuperando documentos relevantes e insertándolos en la solicitud. Esto permite obtener respuestas más precisas, actuales y específicas del dominio sin tener que dedicar tiempo a volver a entrenar el modelo.

¿Cuándo debo usar RAG en lugar de un ajuste fino?
Usa RAG cuando quieras incorporar datos dinámicos sin el costo ni la complejidad del ajuste fino. Es ideal para casos de uso en los que se requiere información precisa y oportuna.

¿RAG reduce las alucinaciones en los LLM?
Sí. Al basar la respuesta del modelo en contenido recuperado y actualizado, RAG reduce la probabilidad de alucinaciones. Esto es especialmente cierto en dominios que requieren una alta precisión, como la atención médica, los servicios legales o el soporte empresarial.

¿Qué tipo de datos necesita RAG?
RAG usa datos de texto no estructurados (por ejemplo, fuentes como PDF, correos electrónicos y documentos internos) almacenados en un formato recuperable. Por lo general, se almacenan en una base de datos vectorial, y los datos deben indexarse y actualizarse periódicamente para mantener su relevancia.

¿Cómo se evalúa un sistema RAG?
Los sistemas RAG se evalúan mediante una combinación de puntuación de relevancia, comprobaciones de fundamentación, evaluaciones humanas y métricas de rendimiento específicas para cada tarea. Pero, como hemos visto, las posibilidades del coentrenamiento de recuperador y generador pueden facilitar la evaluación regular, ya que los modelos aprenden unos de otros y se entrenan mutuamente.

    Volver al glosario