Generación aumentada por recuperación (RAG)
Última actualización:
Qué es RAG
Un modelo de lenguaje solo sabe lo que había en sus datos de entrenamiento. RAG añade un paso de consulta: antes de que el modelo responda, el sistema recupera textos relevantes de una base de conocimiento y los coloca en el prompt. El modelo redacta entonces la respuesta a partir de ese material en lugar de fiarse solo de su memoria.
El término procede de un artículo de investigación de 2020 de Patrick Lewis y sus colegas de Facebook AI Research. Hoy describe la mayoría de los chatbots y asistentes que responden con el contenido propio de una organización.
Cómo funciona RAG
Un sistema RAG tiene una fase de preparación y una fase por cada pregunta:
La calidad de un sistema RAG depende mucho de la búsqueda. Si no encuentra el fragmento correcto, ni siquiera un modelo muy capaz puede responder bien.
- Indexación, por adelantado: los documentos se dividen en fragmentos (chunks), cada fragmento se convierte en un embedding y todo se guarda en un índice consultable.
- Recuperación: la pregunta se compara con el índice mediante búsqueda semántica, búsqueda por palabras clave o ambas, y se eligen los fragmentos más relevantes.
- Aumento: los fragmentos elegidos se añaden al prompt junto con las instrucciones y la conversación hasta ese momento.
- Generación: el modelo de lenguaje redacta una respuesta basada en los textos recuperados y, si está bien configurado, indica cuándo esos textos no contienen la respuesta.
Ejemplo
Al chatbot de una empresa de software le preguntan: «¿Puedo exportar mis facturas en CSV?». La búsqueda encuentra un artículo de ayuda sobre exportaciones y una entrada reciente del registro de cambios. El modelo lee ambos y explica que la exportación a CSV está en los ajustes de facturación, repitiendo los pasos del artículo. Cuando la empresa edita el artículo, la siguiente respuesta refleja el cambio en cuanto el contenido se vuelve a indexar, sin tocar el modelo.
Por qué RAG importa en los chatbots de empresa
RAG es la forma más habitual de hacer útil un modelo generalista para una empresa concreta:
RAG no elimina todos los errores. Documentos desactualizados o contradictorios llevan a respuestas equivocadas y el modelo aún puede malinterpretar un fragmento. Mantener las fuentes al día importa tanto como la tecnología.
- Las respuestas se ciñen a tus productos, precios y políticas.
- Actualizar el conocimiento significa editar contenido, no reentrenar un modelo.
- Las respuestas se pueden rastrear hasta sus fragmentos de origen, lo que facilita encontrar y corregir errores.
- Unas reglas pueden indicar al modelo que responda solo con el contenido recuperado y que admita cuándo no ha encontrado nada relevante.
Cómo usa intoCHAT RAG
intoCHAT se basa en RAG. Cuando añades páginas web, archivos, fragmentos de texto o pares de preguntas y respuestas, intoCHAT los divide en fragmentos y crea embeddings. En cada mensaje de un visitante hace una recuperación híbrida, que combina búsqueda semántica y por palabras clave, y pasa los mejores extractos al modelo con reglas que mantienen la respuesta anclada a ellos. Las respuestas de Q&A y las fuentes marcadas con estrella tienen prioridad sobre el resto, y los cambios en una fuente se aplican después de volver a entrenarla.