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

Copiar URL

La generación aumentada por recuperación (RAG) es un método mediante el cual se vincula un modelo de lenguaje de gran tamaño (LLM) a un recurso externo para obtener mejores respuestas de una aplicación de inteligencia artificial generativa.

Conoce Red Hat AI

La generación aumentada por recuperación permite complementar los datos que se encuentran dentro de un modelo de lenguaje de gran tamaño con las fuentes de datos externas que tú elijas, como repositorios de datos, corpus de textos y documentación previa. Estos recursos se segmentan, se clasifican en una base de datos vectorial y se utilizan como material de referencia para que las respuestas proporcionadas sean más precisas.

La generación aumentada por recuperación resulta útil porque indica al modelo de lenguaje de gran tamaño que recupere información específica e inmediata de las fuentes de información que elijas. Además, permite ahorrar dinero, ya que ofrece una experiencia personalizada sin necesidad de gastar en el entrenamiento y perfeccionamiento del modelo. También puedes ahorrar recursos, dado que cuando se realiza una consulta a un LLM se envía solo la información más relevante, en lugar de documentos extensos.

Obtén más información sobre la inteligencia artificial generativa 

Recursos de Red Hat

Los LLM utilizan el machine learning (aprendizaje automático) y técnicas de procesamiento del lenguaje natural (NLP) para entender y generar lenguaje humano. Pueden ser muy valiosos para las comunicaciones y el procesamiento de datos, pero también presentan desventajas:

  • Se entrenan con datos disponibles para el público general, pero pueden no incluir la información específica a la que deseas que hagan referencia, como conjuntos de datos internos de tu empresa.
  • Tienen una fecha límite de conocimiento, lo que significa que la información con la que se los entrenó no se actualiza de manera constante. En consecuencia, el material de entrenamiento puede volverse obsoleto y dejar de ser relevante.
  • Están ansiosos por complacer, lo que significa que a veces presentan información falsa o desactualizada, conocida también como "alucinación".

La implementación de la arquitectura RAG en un sistema de búsqueda de respuestas basado en un LLM establece una línea de comunicación entre un LLM y las fuentes de información adicionales que elijas. El LLM puede realizar referencias cruzadas y complementar su conocimiento interno para que el usuario que formula una consulta obtenga resultados más confiables y precisos.

Obtén más información sobre los modelos de lenguaje de gran tamaño 

Los mecanismos de recuperación incluidos en la arquitectura RAG le permiten acceder no solo al entrenamiento general de un LLM, sino también a otras fuentes de datos. Al basar el LLM en un conjunto de hechos externos verificables a través de la RAG, se obtienen varios beneficios:

Precisión
La RAG ofrece un modelo de lenguaje de gran tamaño con fuentes que puede citar, de manera que los usuarios puedan comprobar las afirmaciones. También permite diseñar una arquitectura RAG que responda con "No lo sé" si la pregunta está fuera de su área de conocimiento. En general, la RAG reduce las posibilidades de que un LLM comparta información incorrecta o engañosa como resultado y puede reforzar la confianza de los usuarios.

Rentabilidad
El reentrenamiento y el perfeccionamiento de los LLM son procesos costosos y que requieren mucho tiempo, al igual que la creación desde cero de un modelo base con información específica del dominio (por ejemplo, para diseñar un chatbot). Con la RAG, el usuario puede incorporar nuevos datos a un LLM, así como cambiar o actualizar las fuentes de información, simplemente cargando un documento o archivo.

La RAG también puede reducir los costos de inferencia. Las consultas a los LLM son costosas: implican exigencias para tu propio hardware si ejecutas un modelo local o generan una factura según el consumo si utilizas un servicio externo a través de una interfaz de programación de aplicaciones (API). En lugar de enviar un documento de referencia completo a un LLM de una sola vez, la RAG puede enviar solo los fragmentos más importantes de este y, así, reducir el tamaño de las consultas y mejorar la eficiencia.

Control de los desarrolladores
En comparación con los métodos de perfeccionamiento tradicionales, la RAG proporciona una forma más sencilla y accesible de obtener comentarios, resolver los problemas y corregir las aplicaciones. Para los desarrolladores, el mayor beneficio de la arquitectura RAG es que les permite aprovechar un flujo de información actualizada y específica de cada dominio.

Privacidad y soberanía y de los datos
El uso de información confidencial para perfeccionar una herramienta de LLM siempre ha sido riesgoso debido a que los modelos pueden revelar información de sus datos de entrenamiento. La RAG ofrece una solución a estos problemas de privacidad, ya que permite que los datos confidenciales permanezcan en las instalaciones y, a la vez, se utilicen en un modelo local o externo de confianza. Esta arquitectura también se puede configurar para restringir el acceso a la información privada con base en diferentes niveles de autorización, de manera que solo ciertos usuarios puedan acceder a determinada información según las autorizaciones que tengan. 

Las arquitecturas RAG recuperan datos de una fuente externa, los procesan en el contexto de un LLM y generan una respuesta basada en las fuentes combinadas. Este proceso incluye tres etapas principales: preparación, recuperación y generación de los datos.

Paso 1: Preparación de los datos (para su recuperación)

  • Documentación fuente y carga de archivos: identifica y obtén los documentos fuente que desees compartir con el modelo de lenguaje de gran tamaño y asegúrate de que se encuentren en un formato que este comprenda, como archivos de texto, tablas de bases de datos o PDF. Independientemente del formato de la fuente, cada documento debe convertirse en archivo de texto antes de incorporarlo a la base de datos vectorial. Este proceso también se conoce como etapas de extracción, transformación y carga (ETL), y garantiza que los datos sin procesar se limpien y organicen de forma que estén preparados para el almacenamiento, el análisis y el machine learning.
     
  • Transformación: las herramientas de "división de texto" o "fragmentación" preparan los documentos para la recuperación. Esto implica analizar los documentos actualizados y catalogarlos en "fragmentos" relacionados en función de distintas características. Por ejemplo, es posible que para el modelo resulte más sencillo buscar y recuperar los documentos que presentan un formato por párrafos que aquellos estructurados con tablas y figuras.

    La fragmentación puede basarse en diversos factores, como la semántica, las oraciones, los tokens, el formato, los caracteres HTML o el tipo de código. Muchos marcos open source pueden facilitar el proceso de incorporación de documentos, como LlamaIndexLangChain.
     

  • Integración: las integraciones utilizan un modelo de machine learning especializado (uno de incorporaciones vectoriales) para convertir los datos en vectores numéricos y poder aplicar las operaciones matemáticas que permitan evaluar las similitudes y las diferencias entre los distintos fragmentos de datos. Gracias a ellas, puedes convertir texto o imágenes en vectores que capten el significado central del contenido y descarten los detalles irrelevantes. Durante este proceso, se puede asignar a un fragmento de datos un valor numérico (como [1.2, -0.9, 0.3]) y clasificarlo en un sistema mayor denominado base de datos vectorial.

    Dentro de una base de datos vectorial, este valor numérico ayuda a que la arquitectura RAG indique las asociaciones entre los fragmentos de contenido y organice los datos para optimizar la recuperación. El objetivo de esta clasificación consiste en estructurar los vectores para que los conceptos que sean similares se almacenen en coordenadas adyacentes. Por ejemplo, los conceptos "café" y "té" se colocarían muy cerca, así como "bebida caliente". En cambio, los conceptos no relacionados, como "teléfonos celulares" y "televisión", se situarían más alejados. La distancia o cercanía entre dos vectores permite que el modelo determine el tipo de información que debe recuperarse e incluirse en el resultado de la consulta del usuario.
     

  • Almacenamiento: los datos combinados procedentes de diversas fuentes (los documentos externos que elijas y el LLM) se almacenan en un repositorio central.
     

Paso 2: Recuperación

  • Una vez que los datos se catalogan en la base de datos vectorial, los algoritmos buscan y recuperan los fragmentos de información relevantes para la solicitud y la consulta del usuario. Los marcos como LangChain admiten muchos algoritmos de recuperación diferentes, incluida la recuperación basada en similitudes de los datos, como la semántica, los metadatos y los documentos principales.

    En los entornos de consumidores de dominio abierto, la recuperación de información se realiza a partir de documentos organizados en Internet, a los cuales se accede a través de la API de una fuente de información. Sin embargo, en un entorno empresarial de dominio cerrado, en el que es necesario mantener la privacidad de la información y protegerla de las fuentes externas, la recuperación mediante la arquitectura RAG puede seguir siendo local y ofrecer mayor seguridad.

    Por último, los datos recuperados se insertan en la solicitud y se envían al LLM para que los procese.
     

Paso 3: Generación

  • Resultado: se ofrece una respuesta al usuario. Si el método RAG funciona según lo previsto, el usuario obtendrá una respuesta precisa basada en los conocimientos fuente proporcionados.

Comienza a utilizar marcos de inteligencia artificial con Red Hat Consulting 

Cuando se diseña un modelo de machine learning, es importante buscar documentos fuente de alta calidad, ya que los resultados dependen de los datos que se introducen. Si los sistemas generan resultados erróneos o sesgados, pueden suponer un grave problema para las empresas que utilizan la inteligencia artificial. Por lo tanto, es fundamental asegurarse de que los documentos fuente no contengan información sesgada (es decir, información que favorezca a los grupos privilegiados y perjudique a los no privilegiados de manera sistemática) para que los resultados estén libres de sesgos.

A la hora de obtener datos para una arquitectura RAG, asegúrate de que la información que incluyas en los documentos fuente se cite con precisión y esté actualizada. Además, es necesario que especialistas evalúen la calidad de los resultados antes de poner el modelo a disposición de un público más amplio, y que sigan haciéndolo incluso después de que el modelo se implemente para utilizarlo en la producción.

Cuando se conocen las diferencias entre los métodos de entrenamiento con datos y la arquitectura RAG, es posible tomar decisiones estratégicas sobre los recursos de inteligencia artificial que se deben implementar para satisfacer las necesidades de cada empresa, e incluso es posible utilizar más de un método a la vez. Analicemos algunos métodos y procesos habituales para el tratamiento de los datos y comparémoslos con la RAG.

Diferencias entre la RAG y la ingeniería de peticiones
La ingeniería de peticiones es la manera más sencilla y menos técnica de interactuar con un LLM. Consiste en escribir una serie de instrucciones que el modelo debe seguir para generar un resultado adecuado cuando un usuario realiza una consulta. En comparación con la RAG, este proceso requiere menos datos (solo utiliza aquellos con los que se entrenó el modelo previamente) y tiene un costo reducido (usa solo las herramientas y los modelos que se poseen); sin embargo, no permite generar resultados basados en información actualizada o variable. Asimismo, la calidad de los resultados depende de la formulación de las solicitudes, de modo que es posible que las respuestas no sean uniformes.

Si buscas una forma sencilla y rentable de extraer información sobre temas generales sin necesidad de profundizar demasiado, puedes optar por utilizar la ingeniería de peticiones en lugar de la RAG.

Diferencias entre la RAG y la búsqueda semántica
El término "semántica" hace referencia al estudio del significado de las palabras. La búsqueda semántica es una técnica de análisis de los datos que tiene en cuenta la intención y el contexto de una consulta.

Utiliza el procesamiento de lenguaje natural (NLP) y el machine learning para decodificar una consulta y buscar datos que puedan servir para brindar una respuesta más pertinente y precisa que la que proporcionaría la mera concordancia de palabras clave. Dicho de otro modo, la búsqueda semántica ayuda a acortar la distancia entre lo que un usuario escribe como consulta y los datos que se emplean para generar un resultado.

Por ejemplo, si escribes una consulta sobre unas "vacaciones soñadas", la búsqueda semántica ayudaría al modelo a comprender que probablemente deseas información sobre unas vacaciones "ideales". En lugar de ofrecer una respuesta sobre los sueños, daría una más acorde con tu intención: tal vez un paquete turístico para una escapada a la playa.

La búsqueda semántica es un elemento de la RAG, ya que esta la utiliza durante la etapa de recuperación de datos de la base vectorial para producir resultados actualizados y precisos desde el punto de vista contextual.

Diferencias entre la RAG y el preentrenamiento
El preentrenamiento constituye la fase inicial del entrenamiento de un LLM para adquirir un dominio general del lenguaje mediante el aprendizaje a partir de un gran conjunto de datos. Al igual que el cerebro humano desarrolla vías neuronales a medida que adquirimos nuevos conocimientos, el preentrenamiento desarrolla una red neuronal dentro de un LLM al entrenarlo con información.

En comparación con la RAG, el preentrenamiento de un LLM es más costoso, puede llevar más tiempo y necesitar más recursos informáticos, como miles de GPU. Puedes optar por utilizar el preentrenamiento en lugar de la RAG si tienes acceso a un amplio conjunto de datos (el cual debe poder influir considerablemente en el modelo entrenado) y deseas dotar a un LLM de conocimientos básicos sobre determinados temas o conceptos.

Diferencias entre la RAG y el perfeccionamiento de modelos
Si la arquitectura RAG determina los conocimientos que debe poseer un LLM, el perfeccionamiento define las acciones que debe llevar a cabo. Se trata de un proceso que consiste en utilizar un LLM preentrenado y seguir entrenándolo con un conjunto de datos más reducido y específico, lo cual permite que el modelo adquiera patrones comunes que no cambian con el tiempo.

A simple vista, la RAG y el perfeccionamiento pueden parecer similares, pero presentan algunas diferencias. Por ejemplo, en tanto que este último requiere un gran volumen de datos y recursos informáticos considerables para la creación del modelo, la primera puede recuperar información de un único documento sin necesidad de utilizar demasiados recursos. Además, mientras está demostrado que la RAG efectivamente reduce las alucinaciones, el proceso para reducirlas en el perfeccionamiento de LLM resulta mucho más largo y complejo.

A menudo, los modelos pueden utilizar ambos métodos. Sin embargo, puedes optar por el perfeccionamiento en lugar de la RAG si ya tienes acceso a una gran cantidad de datos y recursos, si esos datos son relativamente invariables o si trabajas en una tarea especializada que requiere un análisis más personalizado que el formato pregunta-respuesta en el que se centra la arquitectura RAG. 

Obtén más información sobre las diferencias entre la RAG y el perfeccionamiento

La arquitectura RAG podría aplicarse a muchos casos prácticos. Los siguientes son algunos de los más conocidos.

  • Servicio de atención al cliente: la programación de un chatbot para responder las consultas de los clientes con información de un documento específico puede reducir el tiempo de resolución de las consultas y mejorar la eficacia del sistema de atención al cliente.

  • Generación de información útil: la RAG permite aprender de los documentos que ya posees. Cuando utilizas esta arquitectura, puedes vincular un LLM con los informes anuales, los documentos de marketing, los comentarios en las redes sociales, las opiniones de los clientes, los resultados de las encuestas, los documentos de investigación u otros materiales, así como encontrar respuestas que te permitan comprender mejor tus recursos. Además, puedes utilizarla para conectarte directamente a las fuentes de datos en tiempo real, como los feeds de las redes sociales, los sitios web u otras fuentes que se actualizan con frecuencia, de modo que puedas generar respuestas útiles al instante.

  • Sistemas de información de salud: la arquitectura RAG puede mejorar los sistemas que ofrecen información o asesoramiento médicos. Gracias a la posibilidad de revisar distintos aspectos, como el historial médico de una persona, los servicios de programación de citas y las últimas investigaciones y directrices médicas, puede facilitar el acceso de los pacientes a la asistencia y los servicios que necesitan.

Red Hat® AI es nuestra cartera de productos de inteligencia artificial basada en soluciones que nuestros clientes ya conocen. Gracias a ellas, nuestros productos siguen siendo confiables, flexibles y adaptables.

Red Hat AI permite que las empresas:

  • Adopten y generen innovaciones con la inteligencia artificial rápidamente.
  • Reduzcan las complejidades que conlleva la distribución de las soluciones de inteligencia artificial.
  • Efectúen implementaciones en cualquier lugar.

Conoce Red Hat AI 

Control y colaboración de los desarrolladores

Las soluciones de Red Hat AI permiten que las empresas implementen la arquitectura RAG en sus procesos de operaciones de modelos de lenguaje de gran tamaño (LLMOps) porque proporcionan la infraestructura fundamental para las cargas de trabajo.

En específico, Red Hat® OpenShift® AI, una plataforma de MLOps flexible y con capacidad de ajuste, brinda a los desarrolladores las herramientas que necesitan para diseñar, implementar y gestionar las aplicaciones que utilizan la inteligencia artificial. Proporciona la infraestructura fundamental para respaldar una base de datos vectorial, crear integraciones, realizar consultas a los LLM y utilizar los mecanismos de recuperación necesarios para generar resultados.

Red Hat AI también ofrece mecanismos adicionales de alineamiento de modelos para mejorarlos. La solución que los ofrece se denomina InstructLab y presenta un enfoque open source impulsado por la comunidad para mejorar las funciones de los modelos de lenguaje de gran tamaño.

Gracias a la colaboración constante y con soporte, puedes personalizar las aplicaciones de los modelos de inteligencia artificial para los casos prácticos de tu empresa de forma rápida y sencilla.

Conoce Red Hat OpenShift AI 

Crea una aplicación de RAG

Red Hat OpenShift AI es una plataforma para desarrollar proyectos de análisis de datos y distribuir aplicaciones que utilizan la inteligencia artificial. Con ella, puedes integrar todas las herramientas que necesitas para respaldar la generación aumentada por recuperación (RAG), un método para obtener respuestas de la inteligencia artificial desde tus propios documentos de referencia. Cuando conectas OpenShift AI con NVIDIA AI Enterprise, puedes experimentar con los modelos de lenguaje de gran tamaño (LLM) para encontrar el más adecuado para tu aplicación.

Crea un canal para los documentos

Para usar la RAG, primero debes incorporar los documentos a una base de datos vectorial. En nuestra aplicación de ejemplo, integramos un conjunto de documentos de productos en una base de datos de Redis. Ya que estos documentos cambian con frecuencia, podemos crear un canal para este proceso que ejecutaremos de forma periódica, de manera de disponer siempre de las versiones más recientes de ellos.

Consulta el catálogo de LLM

NVIDIA AI Enterprise te brinda acceso a un catálogo de distintos LLM, por lo que puedes probar diferentes opciones y elegir el modelo que ofrezca los mejores resultados. Estos modelos se alojan en el catálogo de API de NVIDIA. Una vez que hayas configurado un token de interfaz de programación de aplicaciones (API), podrás implementar un modelo utilizando la plataforma de distribución de NVIDIA NIM directamente desde OpenShift AI.

Elige el modelo adecuado

A medida que pruebes distintos LLM, los usuarios tendrán la posibilidad de calificar cada respuesta que se genere. Puedes configurar un panel de control de Grafana para comparar las calificaciones, además de la latencia y los tiempos de respuesta de cada modelo. Luego, puedes usar esos datos para elegir el mejor LLM e implementarlo en la producción.


 

An architecture diagram shows an application built using Red Hat OpenShift AI and NVIDIA AI Enterprise. Components include OpenShift GitOps for connecting to GitHub and handling DevOps interactions, Grafana for monitoring, OpenShift AI for data science, Redis as a vector database, and Quay as an image registry. These components all flow to the app frontend and backend. These components are built on Red Hat OpenShift AI, with an integration with ai.nvidia.com.

 

Descarga el PDF

Hub

Blogs de Red Hat

Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

Diferencias entre la inteligencia artificial predictiva y la generativa

La inteligencia generativa y la predictiva presentan diferencias significativas y se aplican a distintos casos prácticos. A medida que la inteligencia artificial evoluciona, establecer una distinción entre estos dos tipos permite conocer mejor sus diferentes funciones.

Inteligencia artificial con agentes

Se trata de un tipo de sistema de software diseñado para interactuar con datos y herramientas casi sin necesidad de la intervención humana.

¿Qué son los modelos Granite?

Granite es una serie de LLM creados por IMB para aplicaciones empresariales. Los modelos base de Granite respaldan los casos prácticos de inteligencia artificial generativa relacionados con lenguaje y código.

IA/ML: lecturas recomendadas