Compartir a través de


Generación Aumentada de Recuperación (RAG) en Azure Databricks

La generación aumentada por recuperación (RAG) es una técnica eficaz que combina modelos de lenguaje grandes (LLMs) con recuperación de datos en tiempo real para generar respuestas más precisas, up-to-date y contextualmente relevantes.

Este enfoque es especialmente útil para responder a preguntas sobre la propiedad, el cambio frecuente o la información específica del dominio.

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

En el formato más sencillo, un agente RAG hace lo siguiente:

  1. Recuperación: la solicitud del usuario se usa para consultar una base de conocimiento externa, como un almacén de vectores, una búsqueda de palabras clave o una base de datos SQL. El objetivo es obtener datos auxiliares para la respuesta del LLM.
  2. Aumento: los datos auxiliares se combinan con la solicitud del usuario, a menudo usando una plantilla con formato e instrucciones adicionales para el LLM, para crear una solicitud.
  3. Generación: el mensaje se pasa al LLM para generar una respuesta a la solicitud del usuario.

Flujo de una aplicación RAG desde la solicitud del usuario a la recuperación y respuesta de datos.

Ventajas de RAG

RAG mejora las LLM de las maneras siguientes:

  • Conocimientos propietarios: RAG puede incluir información propietaria que no se usa inicialmente para entrenar el LLM, como las demostraciones, los correos electrónicos y los documentos para responder a preguntas específicas del dominio.
  • Información actualizada: Una aplicación RAG puede proporcionar a LLM información de una base de conocimiento actualizada.
  • Citar orígenes: RAG permite a los LLM citar fuentes específicas, lo que permite a los usuarios comprobar la precisión fáctica de las respuestas.
  • Seguridad de datos y listas de control de acceso (ACL): el paso de recuperación se puede diseñar para recuperar de manera selectiva información personal o propietaria basada en las credenciales del usuario.

Componentes de RAG

Una aplicación RAG típica implica varias fases:

  1. Canalización de datos: preproceso e indexación de documentos, tablas u otros datos para una recuperación rápida y precisa.

  2. Cadena RAG (recuperación, aumento y generación):: realiza una serie (o cadena) de pasos para:

    • Comprenda la pregunta del usuario.
    • Recuperar datos auxiliares.
    • Aumentar la solicitud con datos auxiliares.
    • Generar una respuesta de un LLM utilizando la solicitud aumentada.
  3. Evaluación y supervisión: evalúe la aplicación RAG para determinar su calidad, costo y latencia para asegurarse de que cumple sus requisitos empresariales.

  4. Gobernanza y LLMOps: Haga un seguimiento y gestione el ciclo de vida de cada componente, incluyendo el lineaje de datos y controles de acceso.

Diagrama de componentes de la aplicación RAG.

Tipos de datos RAG: estructurados y no estructurados

La arquitectura RAG puede funcionar con datos auxiliares no estructurados o estructurados. Los datos que use con RAG dependen de su caso de uso.

Datos no estructurados: datos sin una estructura u organización específicas.

  • Archivos PDF
  • Documentos de Google/Office
  • Sitios Wiki
  • Imágenes
  • Vídeos

Datos estructurados: datos tabulares organizados en filas y columnas con un esquema específico, como tablas de una base de datos.

  • Registros de clientes en un sistema de BI o Almacenamiento de datos
  • Datos de transacción de una base de datos SQL
  • Datos de las API de aplicación (por ejemplo, SAP, Salesforce, etc.)

Evaluación y supervisión

La evaluación y la supervisión ayudan a determinar si la aplicación RAG cumple los requisitos de calidad, costo y latencia. La evaluación se produce durante el desarrollo, mientras que la supervisión se produce una vez que la aplicación se implementa en producción.

El RAG sobre datos no estructurados tiene muchos componentes que afectan a la calidad. Por ejemplo, los cambios de formato de datos pueden influir en los fragmentos recuperados y la capacidad de LLM para generar respuestas pertinentes. Por lo tanto, es importante evaluar los componentes individuales además de la aplicación general.

Para obtener más información, consulte Mosaic AI Agent Evaluation (MLflow 2).

RAG en Databricks

Databricks ofrece una plataforma de un extremo a otro para el desarrollo de RAG, entre las que se incluyen:

Pasos siguientes