Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Akú úlohu hrá ETL v potrubí prijímania údajov RAG


Akú úlohu hrá ETL v potrubí prijímania údajov RAG


Na základe výsledkov vyhľadávania hrá ETL (Extract, Transform, Load) kľúčovú úlohu v procese príjmu údajov pre systémy Retrieval Augmented Generation (RAG):

1. Extrahovanie: Prvým krokom v procese prijímania údajov RAG je extrahovanie údajov z rôznych zdrojov, ako sú databázy, servery, dátové centrá a online zdroje. Patria sem štruktúrované a neštruktúrované údaje, ako sú textové súbory, súbory CSV a dokumenty PDF. LangChain poskytuje rôzne nakladače dokumentov na načítanie údajov z rôznych zdrojov.

2. Transformácia: Extrahované údaje potom prechádzajú krokom predbežného spracovania, ktorý zahŕňa:
- Rozdelenie textu: Dlhý text je rozdelený na menšie segmenty, aby sa zmestil do maximálnej dĺžky tokenu vloženého modelu.
- Tokenizácia: Text je rozdelený na jednotlivé tokeny, ako sú slová alebo frázy, aby sa vytvorila efektívnejšia a presnejšia reprezentácia.

3. Načítanie: Predspracované údaje sa potom skonvertujú na vysokorozmerné vektory, ktoré predstavujú text v číselnom formáte. Tieto vloženia sú uložené v špecializovaných vektorových databázach, ako je Milvus, ktoré sú optimalizované pre operácie rýchleho vyhľadávania a získavania.

Proces ETL je rozhodujúci pre kanál prijímania údajov RAG, pretože zabezpečuje, že údaje sa zbierajú, transformujú a načítavajú do systému spôsobom, ktorý umožňuje efektívne vyhľadávanie a integráciu s jazykovými modelmi. Nasledovaním tohto štruktúrovaného prístupu môže systém RAG efektívne využiť externé zdroje údajov na rozšírenie znalostí o jazykových modeloch a poskytnúť presnejšie a kontextové odpovede na otázky používateľov.

Stručne povedané, proces ETL je základnou súčasťou procesu prijímania údajov RAG, pretože umožňuje systému prijímať a pripravovať veľké množstvá rôznych údajov na použitie v procese rozšíreného generovania získavania.

Citácie:
[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