La generación de recuperación aumentada (RAG) es un método para añadir una nueva fuente de datos a un modelo de lenguaje de gran tamaño (LLM) sin volver a formarlo.
Después de leer este artículo podrás:
Copiar enlace del artículo
La generación aumentada por recuperación (RAG) es el proceso de optimizar un modelo lingüístico de gran tamaño (LLM) para su uso en un contexto específico sin volver a formarlo por completo, dándole acceso a una base de conocimientos relevante para ese contexto. La RAG es una forma rentable de adaptar rápidamente un LLM a un caso de uso especializado. Es uno de los métodos que los desarrolladores pueden utilizar para ajustar un modelo de inteligencia artificial (IA).
Los LLMs se entrenan con grandes cantidades de datos, pero es posible que no puedan generar la información específica necesaria en algunos entornos. Tienen una comprensión general de cómo funciona el lenguaje humano, pero no siempre tienen experiencia específica en una área temática determinada. La RAG es una forma de corregir esto.
Imagina que un mecánico de coches se pone a trabajar en un Chevy de 1964. Si bien el mecánico puede tener mucha experiencia general en el mantenimiento de automóviles después de miles de horas de práctica, aún necesita el manual del propietario para que el automóvil pueda repararlo de manera efectiva. Sin embargo, el mecánico no necesita volver a obtener la certificación como mecánico; simplemente puede leer detenidamente el manual y luego aplicar los conocimientos generales de los coches que ya tiene.
La RAG es similar. Proporciona a un LLM un "manual", o una base de conocimientos, para que el LLM pueda adaptar su conocimiento general al caso de uso específico. Por ejemplo, un LLM general puede generar contenido sobre cómo funcionan las consultas de API, pero no necesariamente puede indicar a un usuario cómo consultar la API de una aplicación específica. Pero con la RAG, ese LLM podría adaptarse para su uso con esa aplicación vinculándolo a la documentación técnica de la aplicación.
Normalmente, cuando un LLM recibe una consulta, la procesa de acuerdo con sus parámetros y formación preexistentes.
La RAG permite que el LLM haga referencia a "datos externos", una base de datos no incluida en el conjunto de datos de formación del LLM. Así que, a diferencia de la forma normal en que funciona un LLM, un LLM con RAG utiliza datos externos para mejorar sus respuestas —de ahí el nombre de recuperación (recuperar primero los datos externos), aumentada (mejorar las respuestas con estos datos) y generación (crear una respuesta).
Supongamos que el mecánico de coches del ejemplo anterior quisiera utilizar un LLM en lugar de consultar directamente los manuales del propietario. Con la RAG, el LLM podría incorporar la consulta de los manuales del propietario directamente en sus procesos. A pesar de que es probable que el LLM no se haya formado con los manuales de coches clásicos —o en caso que dicha información se incluyera en sus datos de formación, probablemente fuera solo en un pequeño porcentaje—, el LLM puede utilizar RAG para producir consultas relevantes y precisas.
Para que el LLM pueda utilizar y consultar la fuente de datos externa (como los manuales de los coches), los datos se convierten primero en vectores y luego se almacenan en una base de datos vectorial. Este proceso utiliza modelos de aprendizaje automático para generar representaciones matemáticas de elementos de un conjunto de datos (Cada "vector" es una matriz de números, como [-0.41522345,0.97685323...]).
Cuando un usuario envía una instrucción, el LLM convierte esa instrucción en un vector, y luego busca en la base de datos vectorial creada a partir de la fuente de datos externa para encontrar información relevante. Añade esa información como contexto adicional para la instrucción, y luego ejecuta la instrucción aumentada a través de su modelo típico para crear una respuesta.
Las ventajas de utilizar la RAG para ajustar un LLM son:
Algunas de las posibles desventajas son:
Un bot de chat RAG es un bot de chat basado en un LLM que se ha especializado para casos de uso específicos a través de la RAG, que se conecta a una o más fuentes de datos externos que son relevantes para el contexto en el que opera el bot de chat. Un bot de chat RAG para su uso en un taller de automóviles tendría acceso a la documentación del automóvil; esto sería más útil para los mecánicos en el taller que hacer preguntas a un chatbot de LLM de uso general.
La adaptación de bajo rango (LoRA) es otra forma de ajustar un modelo, es decir, adaptarlo a un contexto específico sin volver a formarlo por completo. LoRA, sin embargo, implica ajustar los parámetros del modelo, mientras que RAG no altera en absoluto los parámetros del modelo. Más información sobre LoRA aquí.
AutoRAG configura y gestiona canalizaciones RAG para desarrolladores. Conecta las herramientas necesarias para la indexación, la recuperación y la generación, y mantiene todo actualizado al sincronizar los datos con el índice periódicamente. Una vez configurado, AutoRAG indexa el contenido en segundo plano y responde a las consultas a tiempo real. Más información sobre cómo funciona AutoRAG.