Tuginedes otsingutulemustele, mängib ETL (Extract, Transform, Load) ülitähtsat rolli otsingu laiendatud generatsiooni (RAG) süsteemide andmete sisestamise torujuhtmes:
1. Väljavõte: RAG-i andmekogumiskonveieri esimene samm on andmete eraldamine erinevatest allikatest, nagu andmebaasid, serverid, andmekeskused ja võrguallikad. See hõlmab struktureeritud ja struktureerimata andmeid, nagu tekstifailid, CSV-failid ja PDF-dokumendid. LangChain pakub erinevaid dokumendilaadureid andmete laadimiseks erinevatest allikatest.
2. Teisendus: eraldatud andmed läbivad seejärel eeltöötlusetapi, mis hõlmab järgmist.
- Teksti poolitamine: pikk tekst jagatakse väiksemateks segmentideks, et see sobiks manustamismudeli maksimaalse märgi pikkusega.
- Tokeniseerimine: tekst jaotatakse üksikuteks märkideks, näiteks sõnadeks või fraasideks, et luua tõhusam ja täpsem esitus.
3. Laadi: eeltöödeldud andmed teisendatakse seejärel suuremõõtmelisteks vektoriteks, mis esitavad teksti numbrilises vormingus. Neid manuseid hoitakse spetsiaalsetes vektorandmebaasides, nagu Milvus, mis on optimeeritud kiireks otsinguks ja taastamiseks.
ETL-protsess on RAG-i andmete sisestamise konveieri jaoks ülioluline, kuna see tagab andmete kogumise, teisendamise ja laadimise süsteemi viisil, mis võimaldab tõhusat otsingut ja keelemudelitega integreerimist. Seda struktureeritud lähenemisviisi järgides saab RAG-süsteem tõhusalt kasutada väliseid andmeallikaid, et täiendada teadmisi keelemudelite kohta ning pakkuda kasutajapäringutele täpsemaid ja kontekstuaalsemaid vastuseid.
Kokkuvõtteks võib öelda, et ETL-protsess on RAG-i andmete sisestamise konveieri põhikomponent, kuna see võimaldab süsteemil neelata ja ette valmistada suurel hulgal erinevaid andmeid, et neid kasutada täiustatud genereerimise protsessis.
Tsitaadid:[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