Saltar al contenido

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.

Preguntas frecuentes

¿Qué significa RAG?

RAG son las siglas de retrieval-augmented generation, generación aumentada por recuperación. La recuperación es el paso de búsqueda que encuentra textos relevantes y la generación es el modelo de lenguaje redactando la respuesta. Aumentada significa que el prompt del modelo se enriquece con los textos recuperados.

¿Qué diferencia hay entre RAG y fine-tuning?

RAG entrega al modelo documentos relevantes en el momento de responder, mientras que el fine-tuning modifica el propio modelo entrenándolo con ejemplos adicionales. Para conocimiento factual que cambia a menudo, RAG suele encajar mejor porque actualizarlo solo requiere editar contenido. El fine-tuning es más útil para enseñar un estilo o un formato de salida constante.

¿RAG evita las alucinaciones?

Las reduce, pero no las elimina. El modelo aún puede malinterpretar un fragmento o rellenar huecos cuando la búsqueda no encuentra el texto relevante. Unas reglas de grounding claras, un contenido bien mantenido y las pruebas reducen todavía más el riesgo.

¿Necesito una base de datos vectorial para RAG?

La mayoría de los sistemas RAG guardan los embeddings en un índice vectorial, ya sea en una base de datos vectorial dedicada o en una base de datos convencional con soporte para vectores. Las plataformas de chatbot alojadas como intoCHAT se encargan de ello por ti. Muchos sistemas añaden también búsqueda por palabras clave, porque términos exactos como las referencias de producto se escapan fácilmente a los vectores.

Míralo responder con tu propia web

Pega la dirección de tu web y chatea con un agente creado a partir de tus páginas. Tarda alrededor de un minuto.

Crea tu agente gratis

Plan gratuito, sin tarjeta de crédito.