Analisi approfondita di PageIndex: RAG senza vettori basato sul ragionamento, che consente all'IA di leggere i documenti come un esperto umano
PageIndex è un framework RAG senza vettori, basato sul ragionamento, open source dal team Vectify AI (GitHub 14.8k+ stars). Converte documenti lunghi in un indice ad albero gerarchico, utilizza LLM per la ricerca basata sul ragionamento sull'albero e raggiunge una precisione del 98,7% sul benchmark di domande e risposte sui documenti finanziari FinanceBench.

1. Contesto: i cinque punti deboli del RAG tradizionale
RAG è diventato lo standard de facto per le applicazioni di modelli di grandi dimensioni. La soluzione principale divide i documenti in chunk di lunghezza fissa nella fase di pre-elaborazione, li converte in vettori tramite un modello di embedding e li memorizza in un database vettoriale; durante la query, esegue lo stesso embedding sulla domanda dell'utente, quindi richiama i risultati Top-K tramite la ricerca di similarità vettoriale e li concatena come contesto di input per LLM.
Questo processo è efficace in scenari di testo breve e generici, ma in scenari di documenti lunghi professionali (relazioni finanziarie, leggi e regolamenti, manuali tecnici, ecc.), espone cinque problemi fondamentali:
1) Similarità ≠ Rilevanza. La ricerca vettoriale presuppone che "il blocco di testo semanticamente più simile = la fonte di risposta più rilevante", ma nei documenti professionali, un gran numero di paragrafi condivide una semantica approssimativa, ma differisce nei dettagli chiave.
2) La suddivisione rigida in blocchi distrugge l'integrità del contesto. La suddivisione dei documenti in finestre fisse di 512 o 1024 token tronca frasi, paragrafi o persino interi segmenti logici, causando la perdita del contesto chiave.
3) Disallineamento tra intento di query e spazio di conoscenza. La query dell'utente esprime un "intento" piuttosto che un "contenuto", e l'embedding della query e l'embedding del documento si trovano in spazi semantici diversi.
4) Impossibilità di gestire i riferimenti all'interno del documento. I documenti professionali contengono comunemente riferimenti come "vedi Appendice G" e "fare riferimento alla Tabella 5.3". Non esiste una similarità semantica tra questi riferimenti e il contenuto a cui si riferiscono, e la ricerca vettoriale non può corrispondere.
5) Query indipendenti, impossibilità di utilizzare la cronologia delle conversazioni. Ogni ricerca considera la query come una richiesta indipendente e non può combinare il contesto della conversazione precedente per una ricerca incrementale.
2. Architettura generale di PageIndex
PageIndex è un framework RAG senza vettori (Vectorless) e basato sul ragionamento (Reasoning-based). L'idea centrale è: invece di far eseguire al modello una corrispondenza approssimativa nello spazio vettoriale, è meglio far ragionare il modello sulla rappresentazione strutturata del documento - decidere "dove guardare", invece di limitarsi a "cosa sembra simile".
PageIndex simula il modo in cui un esperto umano legge un documento lungo: prima sfoglia l'indice, determina i capitoli pertinenti in base alla domanda e approfondisce gradualmente fino a trovare il contenuto di destinazione. Questo processo si ottiene in due passaggi:
- Costruire un indice a struttura ad albero: convertire documenti PDF/Markdown in un albero JSON gerarchico, simile a un "indice ottimizzato per LLM"
- Ricerca ad albero basata sul ragionamento: LLM esegue la navigazione basata sul ragionamento sull'albero in base alla domanda, individua i nodi pertinenti, estrae il contenuto e genera risposte

3. Scomposizione dei moduli principali
3.1 Pipeline di elaborazione PDF
La pipeline di elaborazione PDF di PageIndex è organizzata dalla funzione tree_parser(). Il flusso principale include: rilevamento dell'indice (tre rami di modalità), integrazione del prologo, conversione dell'elenco piatto in albero gerarchico, suddivisione ricorsiva di nodi di grandi dimensioni, arricchimento dei nodi, output della struttura ad albero JSON.
Tre modalità di elaborazione:
- process_toc_with_page_numbers (con indice + con numeri di pagina): utilizza LLM per convertire l'indice originale in JSON strutturato, mappando i numeri di pagina logici ai numeri di pagina fisici
- process_no_toc (senza indice): LLM deduce direttamente la struttura gerarchica dal contenuto del corpo del testo
- process_toc_no_page_numbers (con indice ma senza numeri di pagina): estrae la struttura e quindi deduce e integra i numeri di pagina fisici
3.2 Modello di dati della struttura ad albero
Ogni nodo nell'albero contiene: title, node_id, start_index, end_index, summary, prefix_summary, text, nodes (array di nodi figlio) e altri campi.
3.3 Meccanismo di ricerca basato sul ragionamento
La fase di ricerca non si basa su alcun calcolo vettoriale. LLM riceve la domanda dell'utente e la struttura ad albero del documento, ragiona in base al titolo e al riepilogo del nodo e restituisce il suo "processo di pensiero" e l'elenco di node_id pertinenti. Il sistema quindi estrae il testo completo del nodo corrispondente da node_map in base al node_id, lo concatena come contesto e lo consegna a LLM per generare la risposta finale.

4. Punti salienti del design principale
- Architettura senza vettori: non richiede modelli di embedding e database vettoriali, riducendo i costi dell'infrastruttura e semplificando la distribuzione
- Mantiene la struttura naturale del documento: organizza il contenuto in base a capitoli/sezioni/sottosezioni inerenti al documento, evitando la perdita di contesto tra i chunk
- Interpretabilità della ricerca: ogni ricerca restituisce una catena di ragionamento completa, che presenta evidenti vantaggi in scenari con elevati requisiti di conformità
5. Risultati della valutazione
Mafin 2.5 è un sistema di domande e risposte sui documenti finanziari basato su PageIndex. Le prestazioni su FinanceBench (benchmark QA sui documenti finanziari) raggiungono una precisione del 98,7%, superando di gran lunga Perplexity (45%) e GPT-4o (31%).

6. Scenari applicabili
Adatto per: documenti lunghi con una chiara struttura gerarchica (relazioni finanziarie, regolamenti, libri di testo, manuali), con una lunghezza da decine a centinaia di pagine
Non adatto per: documenti senza contenuto strutturato, scansioni non OCR, documenti basati principalmente su tabelle/grafici, scenari che richiedono risposte in tempo reale a livello di millisecondi
7. Riepilogo
Il contributo principale di PageIndex è quello di proporre un paradigma RAG senza vettori pratico: utilizzare la struttura naturale del documento per costruire un indice ad albero e utilizzare il ragionamento LLM per sostituire la ricerca di similarità vettoriale. Questa soluzione si comporta in modo eccellente in scenari di documenti lunghi professionali con una chiara struttura gerarchica e l'interpretabilità e l'auditabilità sono significativamente migliori rispetto alle soluzioni tradizionali.





