Retrieval-Augmented Generation (RAG) es un marco que mejora los modelos de lenguaje combinando dos componentes principales: Retriever y Generator. Una canalización RAG combina el recuperador y el generador en un proceso iterativo y se usa ampliamente en preguntas y respuestas de dominio abierto, chatbots basados en conocimiento y tareas de recuperación de información especializadas donde la precisión y relevancia de los datos del mundo real son cruciales. A pesar de la disponibilidad de varios módulos y canales de RAG, es difícil seleccionar qué canal es ideal para sus propios datos y casos de uso”. Además, crear y evaluar todos los módulos RAG lleva mucho tiempo y es difícil de hacer, pero sin él, es difícil saber qué canal RAG es el mejor para el caso de uso propio.
AutoRAG (𝐑𝐀𝐆 𝐀𝐮𝐭𝐨𝐌𝐋 𝐓𝐨𝐨𝐥) es una herramienta para encontrar una canalización RAG óptima para «autodatos». Ayuda a evaluar automáticamente varios módulos RAG con datos de autoevaluación y a encontrar el mejor canal RAG para casos de uso propio. AutoRAG admite:
- Creación de datos: cree datos de evaluación RAG con documentos sin procesar.
- Optimización: ejecute experimentos automáticamente para encontrar la mejor canalización RAG para los datos.
- Implementación: implemente la mejor canalización RAG con un único archivo YAML y también admita el servidor Flask.
En la optimización de una canalización RAG, un nodo representa una función específica, y el resultado de cada nodo se pasa al siguiente nodo. Los nodos principales para una canalización RAG eficaz son la recuperación, el creador de mensajes y el generador, con nodos adicionales disponibles para mejorar el rendimiento. AutoRAG logra la optimización creando todas las combinaciones posibles de módulos y parámetros dentro de cada nodo, ejecutando el pipeline con cada configuración y seleccionando el resultado óptimo de acuerdo con estrategias predefinidas. El resultado elegido del nodo anterior se convierte en la entrada para el siguiente, lo que significa que cada nodo opera en función del mejor resultado de su predecesor. Cada nodo funciona independientemente de cómo se produce el resultado de entrada, similar a una Cadena de Markov, donde solo se requiere el estado anterior para generar el siguiente estado, sin conocimiento de todo el proceso o de los pasos anteriores.
Los modelos RAG necesitan datos para su evaluación, pero en la mayoría de los casos hay pocos o ningún dato adecuado disponible. Sin embargo, con la llegada de los grandes modelos de lenguaje (LLM), la generación de datos sintéticos se ha convertido en una solución eficaz para este desafío. La siguiente guía describe cómo utilizar LLM para crear datos en un formato compatible con AutoRAG:
- Analizando: configure el archivo YAML y comience a analizarlo. Aquí, los documentos sin procesar se pueden analizar con solo unas pocas líneas de código para preparar los datos.
- fragmentación: Se utiliza un solo corpus para crear pares de control de calidad iniciales, después de lo cual el corpus restante se asigna a datos de control de calidad.
- Creación de control de calidad: Cada corpus necesita un conjunto de datos de control de calidad correspondiente si se generan varios corpus mediante diferentes métodos de fragmentación.
- Mapeo de control de calidad y corpus: Para varios corpus, los datos restantes del corpus se pueden asignar al conjunto de datos de control de calidad. Para optimizar la fragmentación, el rendimiento de RAG se puede evaluar utilizando varios datos de corpus.
Ciertos nodos, como consulta_expansión o creador_de_indicacionesno se puede evaluar directamente. Para evaluar estos nodos, es necesario establecer valores de verdad fundamental, como la «verdad fundamental de la consulta expandida» o la «verdad fundamental del aviso». En este método, los documentos se recuperan durante el proceso de evaluación utilizando los módulos designados y el nodo query_expansion se evalúa en función de estos documentos recuperados. Se aplica un enfoque similar a los nodos Prompt_maker y Generación, donde el nodo Prompt_maker se evalúa utilizando los resultados del nodo Generación. AutoRAG se encuentra actualmente en su fase alfa con numerosas posibilidades de optimización para el desarrollo futuro.
En conclusión, AutoRAG es una herramienta automatizada diseñada para identificar la canalización RAG óptima para conjuntos de datos y casos de uso específicos. Automatiza la evaluación de varios módulos RAG utilizando datos de autoevaluación, ofreciendo soporte para la creación, optimización e implementación de datos. Además, AutoRAG estructura la canalización en nodos interconectados (recuperación, creador de mensajes y generador) y evalúa combinaciones de módulos y parámetros para encontrar la mejor configuración. Los datos sintéticos de los LLM mejoran la evaluación. Actualmente en su fase alfa, AutoRAG ofrece un potencial significativo para una mayor optimización y desarrollo en la selección e implementación de tuberías RAG.
Mira el GitHub repositorio. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa.. No olvides unirte a nuestro SubReddit de más de 55.000 ml.
[Trending] LLMWare presenta Model Depot: una amplia colección de modelos de lenguaje pequeño (SLM) para PC Intel
Sajjad Ansari es un estudiante de último año de IIT Kharagpur. Como entusiasta de la tecnología, profundiza en las aplicaciones prácticas de la IA centrándose en comprender el impacto de las tecnologías de IA y sus implicaciones en el mundo real. Su objetivo es articular conceptos complejos de IA de una manera clara y accesible.