Automatización de un patrón RAG con AutoAI
Utilice AutoAI para automatizar y acelerar la búsqueda de un patrón optimizado de generación de recuperación aumentada (RAG) con calidad de producción, basado en sus datos y su caso de uso.
- Formato de los datos
- Archivos de colección de documentos de tipo PDF, HTML, DOCX, MD o texto sin formato
- Datos de prueba con preguntas y respuestas en formato JSON
- Límites de archivos de datos
- Hasta 20 archivos o carpetas para la colección de documentos. Para colecciones de documentos más grandes, AutoAI realiza el experimento con una muestra de 1 GB.
- 1 archivo JSON para datos de prueba. Un experimento utilizará hasta 25 pares de preguntas y respuestas para evaluar patrones.
- Tamaño del entorno
- Grande: 8 CPU y 32 GB de RAM
Estimación de los costes de un patrón RAG
AutoAI para los experimentos RAG, se utilizan tanto las horas de unidad de capacidad (CUH) para entrenar el experimento, como las unidades de recursos (RU) para medir los tokens consumidos para incrustar documentos e inferir los modelos de base.
- CUH es una medida estándar de 20 CUH por hora para el entorno soportado. La UC consumida para un experimento depende de la complejidad del experimento y del tiempo necesario para entrenar los patrones.
- El consumo de RU depende de una serie de factores, entre los que se incluyen:
- tamaño de la colección de documentos para incrustar
- número de preguntas de evaluación y respuestas para incrustar
- configuración de fragmentación, calculada mediante esta fórmula:
((Chunk overlap + Chunk size) * Chunk count) *Evaluation records
- el número de patrones que crea el experimento
Este ejemplo muestra cómo se calculan los recursos para un único patrón RAG.
Experimentar entrada:
- 100 páginas de documento
- 25 registros de preguntas/respuestas de evaluación
Actividad | Señales consumidas |
---|---|
Incrustar documentos | 3.000.000 |
Incrustación de registros de evaluación | 25.000 |
Recuperar contexto para avisos | 192 000 |
Recuperación del contexto para los registros de evaluación | 25.000 |
Generación de respuestas | 25.000 |
Total de señales consumidas | 3 267 000 |
El total de unidades de recursos consumidas ( tokens/100 ) = 3267 UR para este patrón.
Respuestas precisas gracias a la generación mejorada por recuperación
La generación aumentada por recuperación (RAG) combina la potencia generativa de un gran modelo lingüístico con la precisión de una colección de documentos de base. La interacción con una aplicación RAG sigue este patrón:
- Un usuario envía una pregunta a la aplicación.
- La búsqueda recupera primero el contexto pertinente a partir de un conjunto de documentos de base.
- El gran modelo lingüístico que lo acompaña genera una respuesta que incluye la información pertinente.
For example, the sample notebooks that are provided for this feature use the product documentation for the watsonx.ai Python client library as the grounding documents for a Q&A app about coding watsonx.ai solutions. Los usuarios de patrones se benefician de la información específica y relevante de la documentación, mientras que el modelo generativo de IA añade contexto y presenta las respuestas en lenguaje natural.
Para obtener una descripción completa y ejemplos de cómo la generación aumentada por recuperación puede mejorar sus aplicaciones de preguntas y respuestas, consulte ' Generación aumentada por recuperación (RAG).
Automatización de la búsqueda de la mejor configuración RAG
RAG incluye muchos parámetros de configuración, como qué modelo lingüístico elegir, cómo trocear los documentos de base y cuántos documentos recuperar. Las opciones de configuración que funcionan bien para otro caso de uso pueden no ser la mejor opción para sus datos. Para crear el mejor patrón RAG posible para su conjunto de datos, podría explorar todas las combinaciones posibles de opciones de configuración RAG para encontrar, evaluar e implantar la mejor solución. Esta parte del proceso puede requerir una importante inversión de tiempo y recursos. Del mismo modo que puede utilizar AutoAI para entrenar y optimizar rápidamente los modelos de aprendizaje automático, puede utilizar las capacidades de AutoAI para automatizar la búsqueda de la solución óptima de GAR en función de sus datos y su caso de uso. Acelerar la experimentación puede reducir drásticamente el plazo de producción.
Entre las principales características del enfoque AutoAI se incluyen:
- Exploración y evaluación completas de un conjunto restringido de opciones de configuración .
- Reevalúe y modifique rápidamente la configuración cuando algo cambie . Por ejemplo, puede volver a ejecutar fácilmente el proceso de formación cuando disponga de un nuevo modelo o cuando los resultados de la evaluación indiquen un cambio en la calidad de las respuestas.
El uso de AutoAI automatiza el flujo de extremo a extremo, desde la experimentación hasta el despliegue. El siguiente diagrama ilustra el enfoque de AutoAI para encontrar un patrón RAG optimizado para sus datos y caso de uso en 3 capas:
- En el nivel básico se encuentran las canalizaciones RAG parametrizadas que se utilizan para rellenar un almacén de vectores (índice) y recuperar datos del almacén de vectores para utilizarlos cuando el modelo de lenguaje amplio genera respuestas.
- A continuación, las métricas de evaluación RAG y las herramientas de evaluación comparativa evalúan la calidad de la respuesta.
- Por último, un algoritmo de optimización de hiperparámetros busca la mejor configuración RAG posible para sus datos.
AutoAI Proceso de optimización RAG
La ejecución de experimentos mediante el uso de AutoAI RAG evita probar todas las opciones de configuración de RAG (por ejemplo, evita una búsqueda en cuadrícula) mediante el uso de un algoritmo de optimización de hiperparámetros. El siguiente diagrama muestra un subconjunto del espacio de búsqueda de configuraciones RAG con 16 patrones RAG entre los que elegir. Si el experimento las evalúa todas, se clasifican del 1 al 16, y las tres configuraciones mejor clasificadas se etiquetan como las más eficaces. El algoritmo de optimización determina qué subconjunto de patrones RAG evaluar y deja de procesar los demás, que se muestran en gris. Este proceso evita explorar un espacio de búsqueda exponencial sin dejar de seleccionar los patrones RAG con mejor rendimiento en la práctica.
Utilice la vía rápida para automatizar la búsqueda de un patrón RAG
AutoAI ofrece una solución sin código para automatizar la búsqueda de un patrón RAG. Para utilizar la ruta rápida, parta de un proyecto y utilice la interfaz AutoAI para cargar sus documentos de puesta a tierra y de prueba. Acepte la configuración por defecto o actualice la configuración del experimento. Ejecute el experimento para crear los patrones RAG más adecuados para su caso de uso.
Utilizar el SDK AutoAI para codificar un patrón RAG
Utilice los cuadernos de ejemplo para aprender a utilizar el watsonx.ai Python biblioteca cliente (versión 1.1.11 o posterior) para codificar una solución RAG automatizada para su caso de uso.
Ejemplo | Descripción |
---|---|
Automatización del patrón RAG con la base de datos Chroma | Este cuaderno muestra el enfoque de ruta rápida para crear un patrón RAG. - Utiliza los archivos de documentación watsonx.ai Python SDK como documentos de base para un patrón RAG. - Almacena el contenido vectorizado en la base de datos Chroma predeterminada en memoria |
Automatización del patrón RAG con la base de datos Milvus | - Utiliza los archivos de documentación watsonx.ai Python SDK como documentos de base para un patrón RAG. - Almacena el contenido vectorizado en una base de datos Milvus externa |
Escalar un experimento RAG
AutoAI automatiza la búsqueda de un patrón RAG optimizado basado en sus documentos de base. Si su base de conocimientos de documentación supera los límites de datos permitidos para un experimento, puede utilizar AutoAI para encontrar el patrón RAG y, a continuación, utilizar el cuaderno de indexación generado automáticamente que se crea al guardar un patrón para indexar más documentos. El patrón RAG se aplicará al conjunto más amplio de documentos indexados.
Para más detalles, consulte Guardar un patrón RAG.
Características soportadas
Revise estos detalles para conocer las características que ofrece el proceso RAG ( AutoAI ).
Característica | Descripción |
---|---|
Interfaz compatible | API, IU |
Formatos de archivo para la recogida de documentos en tierra | PDF, HTML, DOCX, MD, texto sin formato |
Conexiones de datos para la recopilación de documentos | IBM Cloud Object Storage (bucket) carpeta en el bucket archivos (hasta 20) |
formato de datos de prueba | JSON con esquema fijo (Campos: - question, correct_answer, correct_answer_document_ids) |
Conexiones para datos de prueba | IBM Cloud Object Storage(archivo JSON único) ' archivo JSON único en proyecto o espacio (activo de datos) ' archivo JSON único en volumen de almacenamiento NFS |
Fragmentación | Múltiples preajustes de 64-1024 caracteres ' ' Documentos de tierra divididos en trozos con tamaño y solapamiento optimizados. |
Modelo de inclusión | Modelos de incrustación compatibles disponibles con watsonx.ai |
Almacén de vectores | Milvus y ChromaDB |
Aumento de fragmentos | Activado (añadir trozos circundantes del documento) |
Tipo de búsqueda | Estándar (en un único índice) |
Modelos generativos | Ver los modelos de la Fundación por tareas |
Muestreo | Benchmark-driven (primero seleccionar las preguntas, luego los documentos, rellenar con aleatorios hasta el límite) |
Algoritmo de búsqueda | Tree Parzen Estimator (TPE) de la biblioteca hyperopt se utiliza para la optimización de hiperparámetros |
Métricas | Corrección de la respuesta, Fidelidad, Corrección del contexto. Para obtener más información, consulte Ver Métricas de trapo léxico del texto unitario |
Métrica de optimización | La métrica que se utiliza como objetivo de optimización. Se admiten respuestas correctas y fieles. |
Restricciones de uso personalizables | Modelo de incrustación Modelo generativo Límite de número de configuraciones (número máximo de patrones de salida de 4 a 20) |
virtual | Milvus : Cuaderno de notas AutoAI para indexación e inferencia mediante el uso de la base de datos vectorial externa Milvus Activo de servicio de IA implementable Chroma: Cuaderno de notas single- AutoAI para indexación e inferencia mediante el uso de la base de datos vectorial en memoria Chroma |
Próximos pasos
- Consulte Elegir un almacén de vectores para planificar dónde almacenar sus documentos vectorizados.
- Véase Creación de un experimento RAG (fastpath)
Tema principal: Codificación de soluciones de IA generativa