PageIndex gilus supratimas: be vektorinio pagrindo RAG, leidžiantis AI skaityti dokumentus kaip žmogaus ekspertui
PageIndex yra Vectify AI komandos atvirojo kodo be vektorinio, į samprotavimus orientuoto RAG karkasas (GitHub 14.8k+ žvaigždučių). Jis konvertuoja ilgus dokumentus į hierarchinę medžio indeksą, naudoja LLM samprotavimams pagrįstai paieškai medyje ir pasiekia 98,7% tikslumą FinanceBench finansinių dokumentų klausimų ir atsakymų etalone.

1. Pagrindas: penki tradicinio RAG skauduliai
RAG tapo de facto standartu didelių modelių taikymui. Pagrindinis sprendimas iš anksto apdorojimo etape suskaido dokumentus į fiksuoto ilgio gabalus (chunk), konvertuoja juos į vektorius per įterpimo modelį ir saugo juos vektorinėje duomenų bazėje; užklausiant vartotojo klausimas yra įterpiamas tokiu pačiu būdu, o tada Top-K rezultatai atšaukiami per vektorių panašumo paiešką ir sujungiami į LLM įvesties kontekstą.
Šis procesas veiksmingas trumpam tekstui ir bendriems scenarijams, tačiau profesionalaus ilgo dokumento (finansinės ataskaitos, įstatymai ir kiti teisės aktai, techniniai vadovai ir kt.) scenarijuose atskleidžia penkias esmines problemas:
1) Panašumas ≠ aktualumas. Vektorinė paieška daro prielaidą, kad „semantiškai panašiausias teksto blokas = aktualiausias atsakymo šaltinis“, tačiau profesionaliuose dokumentuose daugelis pastraipų dalijasi panašia semantika, tačiau skiriasi esminėmis detalėmis.
2) Kietas skaidymas pažeidžia konteksto vientisumą. Dokumentų skaidymas fiksuotu 512 arba 1024 žetonų langu nutraukia sakinius, pastraipas ar net visą loginį segmentą, todėl prarandamas pagrindinis kontekstas.
3) Užklausos ketinimas ir žinių erdvė nesutampa. Vartotojo užklausa išreiškia „ketinimą“, o ne „turinį“, o užklausos įterpimas ir dokumento įterpimas yra skirtingose semantinėse erdvėse.
4) Negalima apdoroti nuorodų dokumente. Profesionaliuose dokumentuose dažnos nuorodos, tokios kaip „žr. G priedą“, „žr. 5.3 lentelę“ ir kt. Tarp šių nuorodų ir nurodyto turinio nėra semantinio panašumo, o vektorinė paieška negali jų suderinti.
5) Nepriklausomos užklausos, negalima pasinaudoti pokalbio istorija. Kiekviena paieška užklausą traktuoja kaip nepriklausomą užklausą ir negali derinti ankstesnio pokalbio konteksto, kad atliktų laipsnišką paiešką.
2. Bendra PageIndex architektūra
PageIndex yra be vektorinis (Vectorless), į samprotavimus orientuotas (Reasoning-based) RAG karkasas. Pagrindinė jo idėja yra: užuot leidę modeliui atlikti apytikslį atitikimą vektorinėje erdvėje, geriau leisti modeliui samprotauti dokumento struktūrizuotame vaizdavime – nuspręsti „kur žiūrėti“, o ne tik „kas atrodo panašiai“.
PageIndex imituoja žmogaus eksperto būdą skaityti ilgus dokumentus: pirmiausia peržiūri turinį, sprendžia susijusius skyrius pagal klausimą ir palaipsniui gilėja, kol randa tikslinį turinį. Šis procesas įgyvendinamas dviem žingsniais:
- Sukurti medžio struktūros indeksą: konvertuoti PDF/Markdown dokumentą į hierarchinį JSON medį, panašų į „LLM optimizuotą turinį“
- Samprotavimais pagrįsta medžio paieška: LLM samprotauja ir naršo medyje pagal klausimą, nustato susijusius mazgus, ištraukia turinį ir generuoja atsakymus

3. Pagrindinių modulių išskaidymas
3.1 PDF apdorojimo linija
PageIndex PDF apdorojimo liniją organizuoja tree_parser() funkcija, o pagrindinis procesas apima: turinio aptikimą (trys režimų šakos), pratarmės papildymą, plokščio sąrašo konvertavimą į hierarchinį medį, didelių mazgų rekursinį suskaidymą, mazgų praturtinimą, JSON medžio struktūros išvestį.
Trys apdorojimo režimai:
- process_toc_with_page_numbers (yra turinys + yra puslapių numeriai): LLM naudoja originalų turinį konvertuoti į struktūrizuotą JSON, o loginį puslapio numerį susieti su fiziniu puslapio numeriu
- process_no_toc (nėra turinio): LLM tiesiogiai išveda hierarchinę struktūrą iš pagrindinio teksto turinio
- process_toc_no_page_numbers (yra turinys, bet nėra puslapių numerių): ištraukia struktūrą ir tada išveda papildomus fizinius puslapių numerius
3.2 Medžio struktūros duomenų modelis
Kiekvienas medis mazgas apima: title, node_id, start_index, end_index, summary, prefix_summary, text, nodes (vaikinių mazgų masyvas) ir kitus laukus.
3.3 Samprotavimais pagrįstas paieškos mechanizmas
Paieškos etapas nepriklauso nuo jokių vektorinių skaičiavimų. LLM gauna vartotojo klausimą ir dokumento medžio struktūrą, samprotauja remdamasis mazgo pavadinimu ir santrauka, išveda savo „mąstymo procesą“ ir susijusių node_id sąrašą. Tada sistema ištraukia atitinkamo mazgo visą tekstą iš node_map pagal node_id, sujungia jį į kontekstą ir perduoda LLM, kad sugeneruotų galutinį atsakymą.

4. Pagrindiniai dizaino akcentai
- Be vektorinė architektūra: nereikia įterpimo modelio ir vektorinės duomenų bazės, sumažinamos infrastruktūros išlaidos ir supaprastinamas diegimas
- Išlaikoma natūrali dokumento struktūra: turinys organizuojamas pagal dokumentui būdingus skyrius/poskyrius/pogrupius, kad būtų išvengta konteksto praradimo tarp gabalų
- Paieškos paaiškinamumas: kiekviena paieška grąžina visą samprotavimo grandinę, kuri turi akivaizdžių pranašumų scenarijuose, kuriuose keliami aukšti atitikties reikalavimai
5. Vertinimo rezultatai
Mafin 2.5 yra finansinių dokumentų klausimų ir atsakymų sistema, pagrįsta PageIndex. Jos našumas FinanceBench (finansinių dokumentų QA etaloninis testas) pasiekia 98,7% tikslumą, gerokai viršijantį Perplexity (45%) ir GPT-4o (31%).

6. Tinkami scenarijai
Tinka: ilgiems dokumentams su aiškia hierarchine struktūra (finansinės ataskaitos, įstatymai ir kiti teisės aktai, vadovėliai, vadovai), kurių apimtis yra nuo dešimčių iki šimtų puslapių
Netinka: dokumentams be struktūrizuoto turinio, neskenuotiems OCR dokumentams, dokumentams, kuriuose vyrauja lentelės/diagramos, scenarijams, kuriems reikia milisekundžių realaus laiko atsako
7. Apibendrinimas
Pagrindinis PageIndex indėlis yra praktinio be vektorinio RAG paradigmos pasiūlymas: medžio indekso kūrimas naudojant natūralią dokumento struktūrą, LLM samprotavimų naudojimas vietoj vektorių panašumo paieškos. Šis sprendimas puikiai veikia profesionalaus ilgo dokumento scenarijuose su aiškia hierarchine struktūra, o paaiškinamumas ir audito galimybės taip pat yra žymiai geresnės nei tradicinių sprendimų.





