Na podlagi rezultatov iskanja ima ETL (Extract, Transform, Load) ključno vlogo v cevovodu za vnos podatkov za sisteme Retrieval Augmented Generation (RAG):
1. Izvleček: Prvi korak v cevovodu za vnos podatkov RAG je ekstrahiranje podatkov iz različnih virov, kot so baze podatkov, strežniki, podatkovni centri in spletni viri. To vključuje strukturirane in nestrukturirane podatke, kot so besedilne datoteke, datoteke CSV in dokumenti PDF. LangChain ponuja različne nalagalnike dokumentov za nalaganje podatkov iz različnih virov.
2. Pretvorba: ekstrahirani podatki gredo nato skozi korak predhodne obdelave, ki vključuje:
- Razdelitev besedila: dolgo besedilo je razdeljeno na manjše segmente, da ustreza največji dolžini žetona vdelanega modela.
- Tokenizacija: besedilo je razdeljeno na posamezne žetone, kot so besede ali fraze, da se ustvari učinkovitejša in natančnejša predstavitev.
3. Naloži: Predobdelani podatki se nato pretvorijo v visokodimenzionalne vektorje, ki predstavljajo besedilo v numerični obliki. Te vdelave so shranjene v specializiranih vektorskih zbirkah podatkov, kot je Milvus, ki so optimizirane za operacije hitrega iskanja in pridobivanja.
Postopek ETL je ključnega pomena za cevovod za vnos podatkov RAG, saj zagotavlja, da se podatki zbirajo, preoblikujejo in naložijo v sistem na način, ki omogoča učinkovito iskanje in integracijo z jezikovnimi modeli. Z upoštevanjem tega strukturiranega pristopa lahko sistem RAG učinkovito izkoristi zunanje vire podatkov za povečanje znanja o jezikovnih modelih in zagotovi natančnejše in kontekstualne odgovore na poizvedbe uporabnikov.
Če povzamemo, je proces ETL temeljna komponenta cevovoda za vnos podatkov RAG, saj sistemu omogoča, da zaužije in pripravi velike količine različnih podatkov za uporabo v procesu pridobivanja razširjenega generiranja.
Citati:[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