Según los resultados de la búsqueda, ETL (Extracción, Transformación, Carga) desempeña un papel crucial en el proceso de ingesta de datos para los sistemas de generación aumentada de recuperación (RAG):
1. Extraer: el primer paso en el proceso de ingesta de datos de RAG es extraer datos de diversas fuentes, como bases de datos, servidores, centros de datos y fuentes en línea. Esto incluye datos estructurados y no estructurados, como archivos de texto, archivos CSV y documentos PDF. LangChain proporciona varios cargadores de documentos para cargar datos de diferentes fuentes.
2. Transformar: Los datos extraídos luego pasan por un paso de preprocesamiento, que implica:
- División de texto: el texto largo se divide en segmentos más pequeños para ajustarse a la longitud máxima del token del modelo de incrustación.
- Tokenización: el texto se divide en tokens individuales, como palabras o frases, para crear una representación más eficiente y precisa.
3. Cargar: Los datos preprocesados se convierten en vectores de alta dimensión, que representan el texto en un formato numérico. Estas incorporaciones se almacenan en bases de datos vectoriales especializadas, como Milvus, que están optimizadas para operaciones rápidas de búsqueda y recuperación.
El proceso ETL es crucial para el proceso de ingesta de datos de RAG porque garantiza que los datos se recopilen, transformen y carguen en el sistema de una manera que permita una recuperación e integración eficientes con los modelos de lenguaje. Siguiendo este enfoque estructurado, el sistema RAG puede aprovechar eficazmente las fuentes de datos externas para aumentar el conocimiento de los modelos de lenguaje y proporcionar respuestas más precisas y contextuales a las consultas de los usuarios.
En resumen, el proceso ETL es un componente fundamental del proceso de ingesta de datos de RAG, ya que permite que el sistema ingiera y prepare grandes cantidades de datos diversos para su uso en el proceso de generación aumentada de recuperación.
Citas:[1] https://www.crossml.com/build-a-rag-data-ingestion-pipeline/
[2] https://aws.amazon.com/blogs/big-data/build-a-rag-data-ingestion-pipeline-for-large-scale-ml-workloads/
[3] https://docs.zenml.io/user-guide/llmops-guide/rag-with-zenml/data-ingestion
[4] https://developer.nvidia.com/blog/rag-101-demystifying-retrieval-augmented-generación-pipelines/
[5] https://mallahyari.github.io/rag-ebook/03_prepare_data.html