Na základě výsledků vyhledávání hraje ETL (Extract, Transform, Load) klíčovou roli v kanálu příjmu dat pro systémy Retrieval Augmented Generation (RAG):
1. Extrahovat: Prvním krokem v procesu zpracování dat RAG je extrahování dat z různých zdrojů, jako jsou databáze, servery, datová centra a online zdroje. To zahrnuje strukturovaná a nestrukturovaná data, jako jsou textové soubory, soubory CSV a dokumenty PDF. LangChain poskytuje různé zavaděče dokumentů pro načítání dat z různých zdrojů.
2. Transformace: Extrahovaná data poté projdou krokem předběžného zpracování, který zahrnuje:
- Dělení textu: Dlouhý text je rozdělen na menší segmenty, aby odpovídal maximální délce tokenu vkládacího modelu.
- Tokenizace: Text je rozdělen na jednotlivé tokeny, jako jsou slova nebo fráze, aby se vytvořila efektivnější a přesnější reprezentace.
3. Načíst: Předzpracovaná data jsou poté převedena do vysocerozměrných vektorů, které představují text v číselném formátu. Tato vložení jsou uložena ve specializovaných vektorových databázích, jako je Milvus, které jsou optimalizovány pro operace rychlého vyhledávání a načítání.
Proces ETL je klíčový pro kanál příjmu dat RAG, protože zajišťuje sběr, transformaci a načítání dat do systému způsobem, který umožňuje efektivní vyhledávání a integraci s jazykovými modely. Dodržováním tohoto strukturovaného přístupu může systém RAG efektivně využít externí zdroje dat k rozšíření znalostí o jazykových modelech a poskytovat přesnější a kontextové odpovědi na dotazy uživatelů.
Stručně řečeno, proces ETL je základní složkou kanálu pro příjem dat RAG, protože umožňuje systému přijímat a připravovat velké množství různých dat pro použití v procesu Retrieval Augmented Generation.
Citace:[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-generation-pipelines/
[5] https://mallahyari.github.io/rag-ebook/03_prepare_data.html