PageIndex: Dogłębna analiza: RAG bez wektorów, oparty na wnioskowaniu, dzięki któremu AI czyta dokumenty jak ludzki ekspert
PageIndex to otwarty framework RAG bez wektorów, oparty na wnioskowaniu, stworzony przez zespół Vectify AI (GitHub 14.8k+ gwiazdek). Konwertuje on długie dokumenty na hierarchiczne indeksy drzewiaste, wykorzystuje LLM do wyszukiwania opartego na wnioskowaniu na drzewie i osiąga 98,7% dokładności w benchmarku pytań i odpowiedzi na dokumentach finansowych FinanceBench.

1. Tło: Pięć problemów tradycyjnego RAG
RAG stał się de facto standardem w zastosowaniach dużych modeli. Główne rozwiązania dzielą dokumenty na fragmenty o stałej długości (chunk) w fazie wstępnego przetwarzania, konwertują je na wektory za pomocą modelu embeddingu i przechowują w bazie danych wektorów; podczas wyszukiwania wykonują to samo embedding dla pytania użytkownika, a następnie przywołują Top-K wyników poprzez wyszukiwanie podobieństwa wektorów, łącząc je jako kontekst wejściowy dla LLM.
Ten proces działa skutecznie w przypadku krótkich tekstów i scenariuszy ogólnych, ale w scenariuszach profesjonalnych, długich dokumentów (raporty finansowe, przepisy prawne, instrukcje techniczne itp.) ujawnia pięć fundamentalnych problemów:
1) Podobieństwo ≠ Powiązanie. Wyszukiwanie wektorowe zakłada, że „najbardziej podobny semantycznie blok tekstu = najbardziej odpowiednie źródło odpowiedzi”, ale w profesjonalnych dokumentach wiele akapitów ma zbliżoną semantykę, ale różni się w kluczowych szczegółach.
2) Twarde dzielenie na bloki narusza integralność kontekstu. Dzielenie dokumentu na stałe okna o rozmiarze 512 lub 1024 tokenów powoduje obcinanie zdań, akapitów, a nawet całych logicznych segmentów, co prowadzi do utraty kluczowego kontekstu.
3) Niezgodność intencji zapytania i przestrzeni wiedzy. Zapytanie użytkownika wyraża „intencję”, a nie „treść”, a embedding zapytania i embedding dokumentu znajdują się w różnych przestrzeniach semantycznych.
4) Niemożność obsługi odwołań w dokumencie. W profesjonalnych dokumentach powszechne są odwołania typu „szczegóły w załączniku G”, „patrz tabela 5.3” itp. Między tymi odwołaniami a treścią, do której się odnoszą, nie ma podobieństwa semantycznego, więc wyszukiwanie wektorowe nie może ich dopasować.
5) Niezależne zapytania, brak możliwości wykorzystania historii konwersacji. Każde wyszukiwanie traktuje zapytanie jako niezależne żądanie, bez możliwości łączenia kontekstu poprzedniej konwersacji w celu stopniowego wyszukiwania.
2. Ogólna architektura PageIndex
PageIndex to bezwektorowy (Vectorless) framework RAG oparty na wnioskowaniu (Reasoning-based). Jego podstawowa idea to: zamiast pozwalać modelowi na przybliżone dopasowywanie w przestrzeni wektorowej, lepiej pozwolić modelowi na wnioskowanie na strukturalnej reprezentacji dokumentu – decydowanie „gdzie patrzeć”, a nie tylko „co wygląda podobnie”.
PageIndex symuluje sposób, w jaki ludzki ekspert czyta długi dokument: najpierw przegląda spis treści, ocenia odpowiednie rozdziały na podstawie pytania, a następnie zagłębia się warstwa po warstwie, aż znajdzie docelową treść. Proces ten realizowany jest w dwóch krokach:
- Budowanie indeksu struktury drzewa: Konwersja dokumentu PDF/Markdown na hierarchiczne drzewo JSON, podobne do „spisu treści zoptymalizowanego dla LLM”
- Wyszukiwanie drzewa oparte na wnioskowaniu: LLM nawiguje po drzewie na podstawie pytania, lokalizuje powiązane węzły, wyodrębnia treść i generuje odpowiedź

3. Rozkład kluczowych modułów
3.1 Potok przetwarzania PDF
Potok przetwarzania PDF w PageIndex jest zorganizowany przez funkcję tree_parser(), a jego główny proces obejmuje: wykrywanie spisu treści (trzy gałęzie trybu), uzupełnianie wstępu, konwersję płaskiej listy na drzewo hierarchiczne, rekurencyjny podział dużych węzłów, wzbogacanie węzłów, wyjście struktury drzewa JSON.
Trzy tryby przetwarzania:
- process_toc_with_page_numbers (ze spisem treści + z numerami stron): LLM konwertuje oryginalny spis treści na strukturalny JSON, mapując logiczne numery stron na fizyczne numery stron
- process_no_toc (bez spisu treści): LLM bezpośrednio wnioskuje strukturę hierarchiczną z treści głównej
- process_toc_no_page_numbers (ze spisem treści, ale bez numerów stron): wyodrębnia strukturę, a następnie wnioskuje i uzupełnia fizyczne numery stron
3.2 Model danych struktury drzewa
Każdy węzeł w drzewie zawiera pola takie jak: title, node_id, start_index, end_index, summary, prefix_summary, text, nodes (tablica węzłów potomnych) itp.
3.3 Mechanizm wyszukiwania oparty na wnioskowaniu
Faza wyszukiwania nie opiera się na żadnych obliczeniach wektorowych. LLM otrzymuje pytanie użytkownika i strukturę drzewa dokumentu, wnioskuje na podstawie tytułów i streszczeń węzłów i wyprowadza swój „proces myślowy” i listę powiązanych node_id. Następnie system wyodrębnia pełny tekst odpowiednich węzłów z node_map na podstawie node_id, łączy je jako kontekst i przekazuje LLM w celu wygenerowania ostatecznej odpowiedzi.

4. Kluczowe zalety projektu
- Architektura bez wektorów: Nie wymaga modelu embeddingu i bazy danych wektorów, co obniża koszty infrastruktury i upraszcza wdrożenie
- Zachowanie naturalnej struktury dokumentu: Organizowanie treści według wbudowanych w dokument rozdziałów/podrozdziałów/podpunktów, unikanie utraty kontekstu między chunkami
- Wyjaśnialność wyszukiwania: Każde wyszukiwanie zwraca pełny łańcuch wnioskowania, co stanowi wyraźną przewagę w scenariuszach o wysokich wymaganiach dotyczących zgodności
5. Wyniki oceny
Mafin 2.5 to system pytań i odpowiedzi na dokumentach finansowych oparty na PageIndex. Jego wydajność w FinanceBench (benchmark testów QA na dokumentach finansowych) osiąga 98,7% dokładności, znacznie przewyższając Perplexity (45%) i GPT-4o (31%).

6. Odpowiednie scenariusze
Odpowiednie dla: Długich dokumentów o przejrzystej strukturze hierarchicznej (raporty finansowe, przepisy prawne, podręczniki, instrukcje), o objętości od kilkudziesięciu do kilkuset stron
Nieodpowiednie dla: Dokumentów bez struktury, skanów bez OCR, dokumentów opartych głównie na tabelach/wykresach, scenariuszy wymagających reakcji w czasie rzeczywistym w milisekundach
7. Podsumowanie
Kluczowy wkład PageIndex polega na zaproponowaniu praktycznego paradygmatu RAG bez wektorów: budowanie indeksu drzewa za pomocą naturalnej struktury dokumentu, zastępowanie wyszukiwania podobieństwa wektorów wnioskowaniem LLM. To rozwiązanie sprawdza się doskonale w scenariuszach profesjonalnych, długich dokumentów o wyraźnej strukturze hierarchicznej, a jego wyjaśnialność i audytowalność są również znacznie lepsze niż w tradycyjnych rozwiązaniach.





