PageIndex: El Framework de RAG Basado en Razonamiento de Código Abierto

PageIndex: El Framework de RAG Basado en Razonamiento de Código Abierto

Cuando piensas en Retrieval Augmented Generation (RAG), la primera imagen que suele surgir es una gran base de datos vectorial, una pila de embeddings y una búsqueda basada en similitud coseno. En la práctica, este enfoque puede tener dificultades con los documentos largos y estructurados que los analistas financieros, equipos legales y académicos encuentran con frecuencia.

¿Por qué PageIndex?

PageIndex se creó para responder la pregunta: ¿Es realmente necesaria una base de datos vectorial para un RAG eficaz? La respuesta resulta ser para nada.

  • Sin vectores – En lugar de convertir cada página o fragmento en un embedding, PageIndex construye un árbol jerárquico que replica las secciones naturales de un documento (piensa en la tabla de contenidos). Cada nodo puede contener opcionalmente un resumen.
  • Sin fragmentación – Los pipelines tradicionales dividen los documentos en fragmentos artificiales que a menudo rompen el contexto. PageIndex mantiene las secciones completas, preservando el flujo narrativo.
  • Recuperación estilo humano – Al permitir que el LLM navegue el árbol, PageIndex simula cómo los expertos del dominio leen y razonan. El modelo puede recorrer la jerarquía, hacer preguntas de clarificación y retroceder, comportándose más como un analista humano.
  • Explicabilidad y trazabilidad – Cada respuesta puede rastrearse hasta un nodo y página específicos, ofreciendo a los desarrolladores una trazabilidad clara.

Conceptos Clave

  1. Índice de árbol – Una estructura JSON donde cada nodo contiene metadatos: título, índices de inicio/final, resumen y nodos hijos. El árbol se convierte efectivamente en una “tabla de contenidos” adaptada a la ingestión por LLM.
  2. Razonamiento LLM – En lugar de una búsqueda de vecinos más cercanos, el LLM razonara sobre el árbol, realizando una búsqueda en árbol. Pregunta qué rama explorar a continuación y luego selecciona secciones relevantes para pasarlo a downstream.
  3. Configuraciones opcionales – Los usuarios pueden controlar el modelo, los tokens máximos por nodo, la profundidad y si incluyen identificadores de nodos o resúmenes.

Instalación Rápida y Ejecución

# 1. Clonar el repositorio
git clone https://github.com/VectifyAI/PageIndex.git
cd PageIndex

# 2. Instalar dependencias
pip install -U -r requirements.txt

# 3. Configurar tu clave API de OpenAI
# Crea un `.env` en el raíz del repositorio
# echo "CHATGPT_API_KEY=sk-…" > .env

# 4. Generar un árbol para un PDF
python run_pageindex.py --pdf_path /ruta/a/tu/documento.pdf

Las opciones opcionales te permiten refinar el proceso: - --model gpt-4o – elige modelo - --toc-check-pages 20 – páginas para buscar la tabla de contenidos - --max-pages-per-node 10 – cuántas páginas puede contener cada nodo - --if-add-node-summary yes – incluye un resumen breve para cada nodo

Para archivos Markdown que siguen las convenciones de encabezado (#, ##, etc.), usa --md_path en su lugar.

Casos de Uso

Dominio Problema Cómo ayuda PageIndex
Finanzas Las presentaciones ante la SEC tienen más de 200 páginas con secciones anidadas; los embeddings a menudo pierden matices. PageIndex construye un árbol que permite al LLM acercarse a secciones exactas, mejorando la precisión de FinanceBench al 98.7%.
Legal La jurisprudencia y los contratos requieren citas exactas de párrafos. El árbol conserva los rangos de páginas, de modo que las respuestas incluyen referencias de ubicación precisas.
Academia Los artículos de investigación tienen múltiples subsecciones; la búsqueda por tema es poco fiable con embeddings. Los resúmenes de nodos guían al LLM a la sección relevante, logrando citas más precisas.
Manual Técnico Los documentos de firmware contienen tablas y diagramas. PageIndex puede indexar imágenes mediante RAG de visión sin OCR, proporcionando contexto directamente desde imágenes de página.

Destacado del Benchmark

El sistema RAG incrustado de PageIndex, Mafin 2.5, alcanzó una precisión del 98.7% en el benchmark FinanceBench, superando a varios sistemas RAG basados en vectores por una amplia margen. La combinación de un índice de árbol limpio y una búsqueda orientada al razonamiento elimina muchas de las trampas de la recuperación basada solo en similitud.

Opciones de Integración

  • Autohospedado – Ejecuta el repositorio Python localmente. Funciona en una laptop o servidor.
  • Plataforma de chat – VectifyAI hospeda una interfaz estilo ChatGPT que puedes probar instantáneamente.
  • MCP/API – Exponer la funcionalidad con mínimo código e integrarla en tu propio pipeline.

Direcciones Futuras

  1. Recuperación multimodal – Combina nodos de texto e imagen para soportar imágenes PDF sin OCR.
  2. Resúmenes finos – Aprovecha modelos de resumen más avanzados para mejores explicaciones de nodos.
  3. Funciones de colaboración – Permite que múltiples usuarios anoten caminos de nodos y compartan la lógica de recuperación.

Reflexiones Finales

PageIndex demuestra que un índice bien estructurado, combinado con el razonamiento de LLM, puede reemplazar el enfoque tradicional basado en vectores para muchas tareas del mundo real. Para los desarrolladores que buscan construir sistemas RAG confiables y explicables sobre documentos largos, el framework ofrece una solución atractiva de bajo código que mantiene al usuario en el bucle, al igual que un experto humano real.

Artículo original: Ver original

Compartir este artículo