Intervjuer te pita: „Šta radi Agent-ov RAG kad naiđe na PDF?" Ako odgovoriš: „Izvučem tekst pomoću PyPDF-a, podelim na blokove i ubacim u vektorsku bazu", čestitam — ponovo si seo u klopku.

Zašto?
Zato što je PDF format za prelom, a ne format podataka. Za običan tekstualni PDF izvlačenje teksta naravno radi. Ali čim naiđeš na skenirane dokumente, tabele ili grafikone, izvlačenje čistog teksta pada u vodu.
Danas opet za 3 minuta raščlanjujemo jedno od najučestalijih pitanja sa Agent intervjua.

Intervjuer postavlja ovo pitanje — površinski pita o rešenju, ali zapravo proverava tri stvari:
Prvo, zašto je PDF težak problem za RAG; drugo, da li si u tri faze — raščlanjivanje, deljenje na blokove i pretraga — radio posebne optimizacije za PDF; treće, kako balansiraš kad naiđeš na usko grlo u performansama.
Sad ti dajem odgovor za maksimalan broj poena, nauči ga napamet. Četiri poteza.
Prvi potez, raščlanjivanje sa svesnošću o rasporedu. Kad dobiješ PDF, prvo odredi tip. Elektronski PDF koji ima tekstualni sloj obrađuješ sa PyMuPDF-om ili pdfplumber-om da izvučeš tekst i koordinate; skenirane dokumente i složene tabele prepusti OCR-u ili multimodalnom modelu, koji posebno prepoznaje naslove, telo teksta, tabele i slikovne regione.
Drugi potez, tabele i slike se obrađuju zasebno. Jednostavne tabele se obrađuju alatom za ekstrakciju koji čuva redove i kolone; skenirane i tabele koje prelaze više stranica se pomoću OCR-a ili multimodalnog modela prevode u Markdown Table ili JSON, a broj stranice, koordinate i ID izvornog fajla se čuvaju zajedno. Isto važi za slike — izdvoji naslov, izdvoji temu, i po potrebi zadrži originalnu sliku za detaljnije ponovno čitanje.
Treći potez, dinamičko deljenje na blokove. Ne seci slepo na 500 znakova. PDF treba deliti po hijerarhiji naslova, pasusima i tabelama. Obični pasusi se seku na granicama rečenica; tabela postaje zaseban Chunk; natpis ispod slike postaje zaseban Chunk. Susedni Chunk-ovi zadržavaju overlap, tako da kad se pogodi mali Chunk, možeš se vratiti roditeljskom bloku i dopuniti kontekst.
Četvrti potez, sidra konteksta. U metapodatke svakog Chunk-a upiši broj stranice, naslov poglavlja, ID susednog Chunk-a i ID izvornog fajla. Običan RAG samo po pravilu proširi susedne Chunk-ove; Agent scenario ide korak dalje — „pročitaj prethodnu stranicu" i „pregledaj originalnu tabelu" se uobliče kao Tool, pa LLM sam procenjuje da li ima dovoljno dokaza, i ako nema, dopunjuje čitanjem.
Ako intervjuer nastavi da pita: kad se doda vizuelni model i OCR, šta sa kašnjenjem?
Reci mu — u fazi ubacivanja se rezultati raščlanjivanja keširaju, pa se za dokument iste verzije kod sledećeg pitanja direktno koristi postojeći rezultat. U fazi upita prvo ide hibridna pretraga sa preuređivanjem, a multimodalni model se okida tek kad se pogodi tabela ili slika i dokaza je nedovoljno, kako bi detaljno pročitao originalnu stranicu.
Na kraju jedna izreka — prvo proveri da li je u pitanju čist tekstualni PDF; ako jeste, izdvoji ga direktno; u suprotnom primeni OCR ili multimodalni model.
Da li si savladao ovo pitanje? Za još izvorno rastavljenih Agent intervju pitanja, lajkuj i prati
