PageIndex Hĺbková analýza: RAG bez vektorovej inferencie, vďaka ktorému AI číta dokumenty ako ľudský expert
PageIndex je open-source RAG framework bez vektorov, založený na inferencii, od tímu Vectify AI (GitHub 14.8k+ hviezdičiek). Transformuje dlhé dokumenty na hierarchický stromový index a používa LLM na inferenčné vyhľadávanie v strome, dosahujúc 98,7% presnosť na benchmarku finančných dokumentov FinanceBench.

1. Pozadie: Päť bolestí tradičného RAG
RAG sa stal de facto štandardom pre aplikácie veľkých jazykových modelov. Hlavné riešenia v predprocesnej fáze rozdeľujú dokumenty na bloky (chunks) s pevnou dĺžkou, transformujú ich na vektory pomocou embedding modelu a ukladajú do vektorovej databázy; pri vyhľadávaní sa používateľský dotaz pretransformuje na embedding, a potom sa pomocou vektorovej podobnosti vyhľadajú Top-K výsledky, ktoré sa spoja do vstupného kontextu pre LLM.
Tento proces je efektívny pre krátke texty a všeobecné scenáre, ale v scenároch s profesionálnymi dlhými dokumentmi (finančné správy, zákony a predpisy, technické príručky atď.) odhaľuje päť zásadných problémov:
1) Podobnosť ≠ Relevantnosť. Vektorové vyhľadávanie predpokladá, že „sémanticky najpodobnejší textový blok = najrelevantnejší zdroj odpovede“, ale v profesionálnych dokumentoch zdieľa veľké množstvo odsekov približnú sémantiku, ale líši sa v kľúčových detailoch.
2) Tvrdé rozdelenie blokov narúša integritu kontextu. Rozdelenie dokumentu pomocou pevného okna 512 alebo 1024 tokenov preruší vety, odseky alebo dokonca celé logické časti, čo vedie k strate kľúčového kontextu.
3) Nesúlad medzi zámerom vyhľadávania a priestorom znalostí. Používateľský dotaz vyjadruje „zámer“ a nie „obsah“, query embedding a document embedding sa nachádzajú v rôznych sémantických priestoroch.
4) Neschopnosť spracovať odkazy v dokumente. V profesionálnych dokumentoch sú bežné odkazy ako „pozri prílohu G“, „pozri tabuľku 5.3“ atď. Medzi týmito odkazmi a odkazovaným obsahom neexistuje sémantická podobnosť, vektorové vyhľadávanie ich nemôže nájsť.
5) Nezávislé vyhľadávanie, neschopnosť využiť históriu konverzácie. Každé vyhľadávanie považuje query za nezávislú požiadavku, a preto nemôže kombinovať kontext predchádzajúcej konverzácie na postupné vyhľadávanie.
2. Celková architektúra PageIndex
PageIndex je RAG framework bez vektorov (Vectorless), založený na inferencii (Reasoning-based). Jeho hlavnou myšlienkou je: namiesto toho, aby model robil približné zhody vo vektorovom priestore, nech model vykonáva inferenciu na štruktúrovanom vyjadrení dokumentu – rozhoduje sa, „kam sa pozrieť“, a nie len „čo vyzerá podobne“.
PageIndex simuluje spôsob, akým ľudský expert číta dlhé dokumenty: najprv si prezerá obsah, na základe otázky určí relevantné kapitoly a postupne sa ponára hlbšie, až kým nenájde cieľový obsah. Tento proces sa realizuje v dvoch krokoch:
- Vytvorenie stromovej štruktúry indexu: Konvertuje PDF/Markdown dokumenty na hierarchický JSON strom, podobný „obsahu optimalizovanému pre LLM“
- Inferenčné vyhľadávanie v strome: LLM vykonáva inferenčnú navigáciu v strome na základe otázky, lokalizuje relevantné uzly, extrahuje obsah a generuje odpovede

3. Rozklad kľúčových modulov
3.1 PDF spracovateľský pipeline
PDF spracovateľský pipeline PageIndex je usporiadaný funkciou tree_parser(), pričom hlavný proces zahŕňa: detekciu obsahu (tri vetvy režimov), doplnenie predslovu, konverziu plochého zoznamu na hierarchický strom, rekurzívne rozdelenie veľkých uzlov, obohatenie uzlov, výstup JSON stromovej štruktúry.
Tri režimy spracovania:
- process_toc_with_page_numbers (s obsahom + s číslami strán): Používa LLM na konverziu pôvodného obsahu na štruktúrovaný JSON, mapuje logické čísla strán na fyzické čísla strán
- process_no_toc (bez obsahu): LLM priamo odvodzuje hierarchickú štruktúru z obsahu textu
- process_toc_no_page_numbers (s obsahom, ale bez čísel strán): Extrahuje štruktúru a potom odvodzuje a dopĺňa fyzické čísla strán
3.2 Dátový model stromovej štruktúry
Každý uzol v strome obsahuje polia ako: title, node_id, start_index, end_index, summary, prefix_summary, text, nodes (pole podradených uzlov) atď.
3.3 Mechanizmus inferenčného vyhľadávania
Fáza vyhľadávania sa nespolieha na žiadne vektorové výpočty. LLM prijíma používateľskú otázku a štruktúru stromu dokumentu, vykonáva inferenciu na základe názvov a súhrnov uzlov a vypisuje svoj „myšlienkový proces“ a zoznam relevantných node_id. Systém potom extrahuje úplný text zodpovedajúcich uzlov z node_map na základe node_id, spojí ich do kontextu a odovzdá LLM na vygenerovanie konečnej odpovede.

4. Hlavné dizajnové prvky
- Architektúra bez vektorov: Nevyžaduje embedding model a vektorovú databázu, znižuje náklady na infraštruktúru a zjednodušuje nasadenie
- Zachováva prirodzenú štruktúru dokumentu: Organizuje obsah podľa kapitol/podkapitol/pododsekov, ktoré sú vlastné dokumentu, čím sa vyhýba strate kontextu medzi blokmi
- Vysvetliteľnosť vyhľadávania: Každé vyhľadávanie vracia kompletný reťazec inferencie, čo má zjavné výhody v scenároch s vysokými požiadavkami na súlad
5. Výsledky hodnotenia
Mafin 2.5 je systém otázok a odpovedí pre finančné dokumenty založený na PageIndex. Jeho výkon na FinanceBench (benchmark testovanie QA finančných dokumentov) dosahuje 98,7% presnosť, čo výrazne prevyšuje Perplexity (45%) a GPT-4o (31%).

6. Vhodné scenáre
Vhodné pre: Dlhé dokumenty s jasnou hierarchickou štruktúrou (finančné správy, predpisy, učebnice, príručky), s rozsahom desiatok až stoviek strán
Nevhodné pre: Dokumenty bez štruktúrovaného obsahu, naskenované dokumenty bez OCR, dokumenty založené hlavne na tabuľkách/grafikách, scenáre vyžadujúce odozvu v reálnom čase v milisekundách
7. Zhrnutie
Hlavným prínosom PageIndex je návrh praktickej paradigmy RAG bez vektorov: použitie prirodzenej štruktúry dokumentu na vytvorenie stromového indexu a použitie inferencie LLM namiesto vyhľadávania podobnosti vektorov. Toto riešenie funguje vynikajúco v scenároch s profesionálnymi dlhými dokumentmi s jasnou hierarchickou štruktúrou a jeho vysvetliteľnosť a audítorská stopa sú tiež výrazne lepšie ako pri tradičných riešeniach.





