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

Copiar URL

La generación aumentada por recuperación (RAG) es una técnica que mejora la calidad y la relevancia de las respuestas de una aplicación de inteligencia artificial generativa. Funciona vinculando recursos externos al conocimiento obtenido por un modelo de lenguaje de gran tamaño (LLM) en su entrenamiento previo. Específicamente, estos recursos externos se segmentan, se indexan en una base de datos vectorial y se utilizan como material de referencia para que el LLM los extraiga y ofrezca respuestas 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 y actualizada de las fuentes de información que elijas. Estas pueden ser repositorios de datos, conjuntos de textos o documentación preexistente. 

Además, permite ahorrar dinero, ya que ofrece una experiencia personalizada sin necesidad de gastar en el entrenamiento ni el 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.

Descubre Red Hat AI

Los LLM utilizan técnicas de machine learning (aprendizaje automático) y procesamiento del lenguaje natural (NLP) para comprender y generar lenguaje humano destinado a la inferencia de inteligencia artificial. Se denomina “inferencia de inteligencia artificial” a la fase operativa de esta tecnología, en la cual el modelo puede aplicar los conocimientos adquiridos durante el entrenamiento a situaciones reales.

Los LLM pueden ser muy valiosos para la comunicación y el procesamiento de datos, pero también tienen algunas 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.
  • Los LLM tienen una fecha límite con respecto al conocimiento, lo que significa que la información con la que se entrenaron no se actualiza constantemente. En consecuencia, el material de entrenamiento puede volverse obsoleto y dejar de ser relevante.
  • Los LLM buscan complacer al usuario, lo que significa que a veces presentan información falsa o desactualizada, lo que también se conoce como "alucinación".

La implementación de la arquitectura RAG en un sistema de preguntas y 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.

Explicación sobre LoRA y QLoRA

 

Recursos de Red Hat

Los mecanismos de recuperación integrados en la arquitectura RAG te permiten acceder a fuentes de datos adicionales aparte del entrenamiento general del LLM. 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 proporciona al LLM fuentes que puede citar para que los usuarios verifiquen sus afirmaciones. También permite diseñar una arquitectura RAG que responda con "No lo sé" cuando 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
Volver a entrenar y perfeccionar los LLM es costoso y lleva mucho tiempo, al igual que crear un modelo base desde cero con información específica del área (para diseñar un chatbot, por ejemplo). 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 para los desarrolladores
En comparación con los métodos tradicionales de perfeccionamiento, la RAG ofrece una forma más accesible y sencilla de obtener comentarios, solucionar problemas y corregir las aplicaciones. Para los desarrolladores, la mayor ventaja de la arquitectura RAG es que les permite aprovechar un flujo de información actualizada y específica de cada área.

Soberanía y privacidad de los datos
El uso de información confidencial para perfeccionar una herramienta de LLM siempre ha sido arriesgado, ya que los LLM 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. 

Obtén más información sobre la informática confidencial

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.

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

  • Extracción y carga de la documentación: 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 archivos PDF. Cualquiera que sea el formato de origen, cada documento debe convertirse en un archivo de texto antes de incorporarlo a la base de datos vectorial. A este proceso también se lo 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. Para facilitar el proceso de incorporación de documentos, hay muchos marcos open source, como LlamaIndex y LangChain.
     

  • 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 puedan almacenarse 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.
     

Etapa 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 petición 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 entornos de consumidores de dominio abierto, la recuperación de la información proviene de documentos indexados en Internet, a los que 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 arquitectura RAG garantiza una recuperación local y segura.

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

Etapa 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 

Para que la RAG funcione de manera óptima, la eficiencia y la estandarización son fundamentales. 

vLLM es un motor y servidor de inferencia que permite que los LLM realicen cálculos de manera más efectiva según sea necesario. Utiliza una técnica para gestionar la memoria denominada "atención paginada" (Paged Attention) que reduce la latencia (es decir, el retraso) en la respuesta final. Esta velocidad y eficiencia hacen que el vLLM sea ideal para su uso en la parte de "generación" de un sistema de generación aumentada por recuperación para garantizar que el usuario obtenga su respuesta lo más rápido posible. 

Para crear una estandarización de los datos en todo el canal de RAG, puedes usar el protocolo de contexto de modelos (MCP). El MCP permite que el sistema de RAG acceda a diversas fuentes de datos externas sin tener que crear integraciones complejas e individualizadas. La creación de una interfaz estandarizada con MCP facilita el ajuste y el mantenimiento de un sistema de RAG a medida que se incorporan nuevas fuentes de datos.

Cuando se diseña un modelo de machine learning, es importante obtener documentos fuente de alta calidad, ya que los resultados dependen de los datos que se introducen. Los sistemas que generan resultados erróneos o sesgados son motivo de gran preocupación 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 aquellos no privilegiados de manera sistemática) para que los resultados no tengan sesgos.

A la hora de obtener datos para una arquitectura RAG, debes asegurarte 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 deben implementarse 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 (prompt engineering) 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 (únicamente 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 peticiones, 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 comprender una consulta y buscar datos que sirvan 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 generar resultados actualizados y precisos desde el punto de vista contextual.

Diferencias entre la RAG y el preentrenamiento de modelos
El preentrenamiento es la etapa inicial del entrenamiento de un LLM para que adquiera un conocimiento amplio del lenguaje 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 (tan amplio que pueda 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, este último requiere una gran cantidad de datos y recursos informáticos para crear el modelo, a menos que utilices técnicas de perfeccionamiento con eficiencia de parámetros (PEFT).  

Por su parte, la RAG puede recuperar información de un único documento sin necesidad de utilizar muchos recursos. Además, mientras está demostrado que la RAG efectivamente reduce las alucinaciones, el proceso de perfeccionamiento de LLM para lograr el mismo resultado es mucho más largo y complejo.

A menudo, se pueden utilizar ambos métodos para los modelos. 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 de modelos

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

  • Servicio de atención al cliente: 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 te 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 en el ámbito médico. 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 investigaciones y directrices médicas más recientes, puede facilitar el acceso de los pacientes a la asistencia y los servicios que necesitan.

Descubre los casos prácticos de la inteligencia artificial generativa

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.

Con Red Hat AI, las empresas logran:

  • adoptar la inteligencia artificial y generar innovaciones con ella de manera rápida;
  • simplificar el proceso de distribución de soluciones basadas en inteligencia artificial;
  • implementar recursos en cualquier entorno.

Descubre 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 con modelos de lenguaje de gran tamaño (LLMOps) porque proporcionan la infraestructura fundamental para las cargas de trabajo.

En concreto,Red Hat® OpenShift® AI, una plataforma de MLOps flexible y con capacidad de ajuste, ofrece a los desarrolladores las herramientas necesarias para diseñar, implementar y gestionar las aplicaciones que utilizan 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.

Gracias a la colaboración permanente 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.

Descubre Red Hat OpenShift AI 

Crea una aplicación de RAG

Red Hat OpenShift AI es una plataforma que permite diseñar proyectos de análisis de datos y distribuir aplicaciones que utilizan inteligencia artificial. Con ella, puedes integrar todas las herramientas que necesitas para admitir la generación aumentada por recuperación (RAG), un método que permite obtener respuestas de inteligencia artificial a partir de tus propios documentos de referencia. Al conectar OpenShift AI con NVIDIA AI Enterprise, puedes realizar pruebas con modelos de lenguaje de gran tamaño (LLM) para encontrar el modelo óptimo para tu aplicación.

Crea un canal para la documentación

Para utilizar la generación aumentada por recuperación, primero debes ingresar tus documentos a una base de datos vectorial. En nuestra aplicación de ejemplo, incorporamos un conjunto de documentos de productos a una base de datos Redis. Como estos documentos cambian con frecuencia, podemos crear un canal para este proceso que ejecutaremos periódicamente, de modo que siempre dispongamos de las últimas versiones de los documentos.

Explora el catálogo de LLM

NVIDIA AI Enterprise brinda acceso a un catálogo de diferentes modelos de lenguaje de gran tamaño para que puedas probar distintas opciones y seleccionar aquel que ofrezca los mejores resultados. Los modelos se alojan en el catálogo de API de NVIDIA. Una vez que hayas configurado un token de API, podrás implementar un modelo utilizando la plataforma de distribución de modelos NVIDIA NIM directamente desde OpenShift AI.

Elige el modelo adecuado

A medida que pruebas diferentes modelos de lenguaje de gran tamaño, los usuarios pueden valorar cada respuesta generada. Configura un panel de supervisión de Grafana para comparar las calificaciones, así como la latencia y el tiempo de respuesta de cada modelo. Luego, aprovecha esos datos a la hora de elegir el mejor modelo para la fase de 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

Recurso

Introducción a la inteligencia artificial para las empresas: Guía para principiantes

Acelera tu proceso de adopción de la inteligencia artificial con Red Hat OpenShift AI y Red Hat Enterprise Linux AI. Obtén más información al respecto en esta guía para principiantes.

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

¿Qué es la inferencia distribuida?

La inferencia distribuida permite que los modelos de inteligencia artificial procesen las cargas de trabajo de manera más eficiente al dividir la tarea de inferencia entre un grupo de dispositivos interconectados.

¿Qué es el protocolo de contexto de modelos?

Descubre la manera en que el protocolo de contexto de modelos (MCP) conecta las aplicaciones de inteligencia artificial con las fuentes de datos externas para que puedas diseñar flujos de trabajo más inteligentes.

Todo sobre AIOps

AIOps (inteligencia artificial para las operaciones de TI) es un enfoque para automatizar las operaciones de TI con el machine learning (aprendizaje automático) y otras técnicas avanzadas de inteligencia artificial.

IA/ML: lecturas recomendadas

Artículos relacionados