Kako je 16 tokena srusilo RAG: Lekcija iz chunkinga
U svijetu Retrieval-Augmented Generation (RAG) sustava, chunking je često podcijenjena umjetnost. Mi smo to naučili na teži način: jedan jedini chunk od 16 tokena, koji je sadržavao samo metapodatke 'end of file', izazvao je dramatičan pad preciznosti dohvaćanja od 40%. Ovaj članak otkriva kako smo dijagnosticirali problem i implementirali rješenje temeljeno na semantičkim granicama.
Što je pošlo po zlu?
Naš RAG pipeline koristio je standardni chunking po fiksnoj duljini tokena (256 tokena po chunku). Međutim, jedan dokument završavao je s kratkim chunkom od samo 16 tokena koji su bili isključivo metapodaci o kraju datoteke. Ovaj chunk nije sadržavao nikakav koristan semantički sadržaj, ali je i dalje bio indeksiran i korišten za dohvaćanje. Rezultat? Sustav je često vraćao ovaj beskorisni chunk kao relevantan, što je drastično smanjilo preciznost.
Dijagnoza: Zašto 16 tokena?
Problem je bio u tome što chunking po fiksnoj duljini ne uzima u obzir semantičke granice. Kada chunk sadrži samo metapodatke, njegova semantička vrijednost je blizu nule, ali vektorska reprezentacija i dalje može biti slična upitima koji sadrže riječi poput 'end' ili 'file'. To je dovelo do lažnih pozitivnih rezultata i pada preciznosti.
Rješenje: Semantički chunking
Umjesto fiksnog broja tokena, prešli smo na chunking koji poštuje semantičke granice. Implementirali smo sljedeće korake:
- Detekcija granica: Koristili smo NLP tehnike za prepoznavanje krajeva rečenica, odlomaka i sekcija.
- Minimalna duljina chunka: Postavili smo prag od najmanje 50 tokena kako bismo izbjegli beskorisne male chunkove.
- Filtriranje metapodataka: Svi chunkovi koji sadrže samo metapodatke (poput 'end of file') automatski se odbacuju.
Rezultati
Nakon implementacije semantičkog chunkinga, preciznost dohvaćanja vratila se na razinu od 95% i više. Sustav je postao robusniji i pouzdaniji, a broj lažnih pozitivnih rezultata sveden je na minimum.
Zaključak
Chunking nije samo tehnički detalj; on je ključna komponenta svakog RAG sustava. Ignoriranje semantičkih granica može dovesti do neočekivanih problema, čak i s naizgled beznačajnim chunkovima od 16 tokena.
Zanima vas ovakva AI tehnologija?
RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.
Kontaktirajte nas →
Komentari