La generación aumentada por recuperación combina un recuperador que busca en una colección externa de documentos con un modelo de lenguaje generador. Lewis et al. (2020) la presentaron combinando un modelo seq2seq paramétrico con un índice vectorial no paramétrico de Wikipedia, y demostraron que producía textos más factuales y específicos y lograba resultados de vanguardia en respuesta a preguntas de dominio abierto.
La mayoría de los sistemas RAG modernos recuperan con embeddings densos, siguiendo Dense Passage Retrieval (Karpukhin et al., 2020); la idea de unir la recuperación a un modelo de lenguaje también se desarrolló en REALM (Guu et al., 2020).
¿Qué es RAG en IA? El significado en palabras sencillas
El significado de RAG en una línea: primero busca y luego responde. Un LLM sin más responde solo a partir de lo que absorbió durante el entrenamiento, que puede estar desactualizado o recordarse mal. Un sistema RAG primero obtiene pasajes relevantes para la pregunta (de documentos de la empresa, una base de conocimiento o la web) y se los entrega al modelo junto con la pregunta, de modo que la respuesta pueda citar fuentes reales.
Por eso RAG es la forma habitual de crear chatbots sobre documentos privados, asistentes de soporte que deben estar siempre al día y herramientas de investigación que muestran de dónde sale cada afirmación.
Cómo funciona la generación aumentada por recuperación
- 1Indexar. Los documentos se dividen en fragmentos, cada fragmento se convierte en un embedding y los embeddings se guardan en una base de datos vectorial o un índice de búsqueda.
- 2Recuperar. La pregunta del usuario se convierte en embedding de la misma forma y los fragmentos más similares se localizan mediante búsqueda de vecinos más cercanos, a menudo seguida de un paso de reordenación (reranking).
- 3Aumentar y generar. Los mejores pasajes se insertan en el prompt, dentro de la ventana de contexto del modelo, y el modelo redacta una respuesta basada en ellos, idealmente indicando qué pasaje respalda cada afirmación.
RAG frente a ajuste fino
Ambos hacen que un modelo sea más útil para tu ámbito, pero cambian cosas distintas. RAG cambia lo que el modelo puede ver; el ajuste fino cambia el propio modelo.
| RAG | Ajuste fino | |
|---|---|---|
| Qué cambia | El contexto que recibe el modelo | Los pesos del modelo |
| Actualizar el conocimiento | Volver a indexar los documentos | Volver a entrenar |
| Citas | Puede señalar los pasajes utilizados | Sin rastro de fuentes integrado |
| Ideal para | Datos recientes, privados o que cambian rápido | Un estilo, formato o comportamiento especializado coherentes |
Las ventanas de contexto largas te permiten pegar documentos enteros en un chat, lo que puede sustituir a RAG cuando se trata de unos pocos archivos. RAG sigue ganando cuando la colección es más grande que la ventana, cambia a menudo o debe consultarse para muchos usuarios.
RAG en MultipleChat
Los Projects de MultipleChat funcionan así: los archivos que añades a un proyecto se indexan y, cuando envías un mensaje, MultipleChat busca en ellos y pasa al modelo solo los fragmentos más relevantes, de modo que cada chat del proyecto puede aprovechar tus documentos sin copiar y pegar. La búsqueda web añade fuentes en directo y, en los planes de pago, Auto Verification puede revisar si una respuesta tiene problemas factuales justo después de entregarla.