PageIndex
Vytvořeno: 31.7.2026 | Aktualizováno: 31.07.2026 17:58
PageIndex je open-source nástroj pro RAG nad dlouhými dokumenty. Místo dělení dokumentu na malé chunky a vyhledávání ve vektorové databázi vytvoří stromovou strukturu sekcí a nechá LLM vybrat relevantní části dokumentu.
Princip
PageIndex převede PDF nebo Markdown na strom podobný obsahu dokumentu. Jednotlivé uzly obsahují název sekce, rozsah stran nebo řádků, ID a volitelně stručné shrnutí.
Při dotazu agent nejdřív prochází strom, vybere relevantní větev a až potom načte obsah malého rozsahu stran. Odpověď tak nemá vycházet z náhodně podobného chunku, ale z části dokumentu, kterou model vyhodnotil jako věcně relevantní.
Například u rozsáhlého technického manuálu může agent nejdřív najít větev Síť → TLS → Obnova certifikátu a následně načíst jen příslušné stránky.
Vztah ke klasickému RAG
Běžný RAG pipeline obvykle rozřeže dokument na chunky, vytvoří z nich embeddingy a při dotazu vrátí vektorově podobné pasáže. To je praktické pro velký objem různorodých dokumentů, ale podobnost textu nemusí znamenat relevanci pro konkrétní otázku.
PageIndex místo toho používá strukturu jednoho dokumentu a reasoning modelu. Výhody jsou hlavně:
- přirozené sekce dokumentu místo mechanicky vytvořených chunků,
- explicitní rozsahy stran nebo řádků, takže lze jednoduše dohledat zdroj odpovědi,
- možnost volit části dokumentu podle otázky, historie konverzace a dalšího kontextu,
- bez nutnosti provozovat vector database nebo vytvářet embeddingy.
Neznamená to, že jde o univerzální náhradu vector RAGu. Pro velký korpus krátkých, nestrukturovaných dokumentů může být klasické fulltextové, hybridní nebo vektorové vyhledávání jednodušší a levnější.
Vhodné použití
PageIndex se hodí zejména pro dlouhé a strukturované dokumenty, kde záleží na kontextu a možnosti ověřit zdroj:
- technické manuály a produktová dokumentace,
- smlouvy, právní nebo regulatorní dokumenty,
- účetní výkazy a finanční reporty,
- odborné publikace, normy a učebnice,
- Markdown dokumentace s dobře udržovanou hierarchií nadpisů.
Lokální použití
Open-source verze umí vytvořit strom z PDF standardním PDF parsingem nebo z Markdownu. Je potřeba nainstalovat závislosti a nastavit API klíč k podporovanému LLM poskytovateli; projekt pro připojení modelů používá LiteLLM.
pip3 install --upgrade -r requirements.txt python3 run_pageindex.py --pdf_path /cesta/k/dokumentu.pdf
Výsledkem je JSON strom uložený do adresáře results/. Pro Markdown se místo parametru –pdf_path používá –md_path. Hierarchie je v tomto režimu odvozena z nadpisů #, ## a dalších úrovní, proto musí být dokument správně strukturovaný.
Projekt nabízí také experimentální režim PageIndex Flash. Ten vytvoří strukturu PDF heuristicky bez LLM; LLM se používá pouze pro shrnutí uzlů.
Agentní použití
Součástí repozitáře je příklad s OpenAI Agents SDK. Agent má k dispozici nástroje pro načtení metadat dokumentu, stromové struktury a obsahu konkrétních stránek. Doporučený postup je nejprve zjistit strukturu dokumentu a potom načítat jen úzké rozsahy, ne celý dokument najednou.
Takový přístup se hodí pro dokumentového asistenta, který má odpovídat dohledatelně a má pracovat v rámci omezeného kontextového okna modelu.
Omezení
Kvalita odpovědí závisí na extrakci textu z PDF, správně vytvořeném stromu a schopnostech použitého LLM. Skenované nebo složitě formátované PDF mohou vyžadovat kvalitnější OCR.
„Self-hosted“ neznamená automaticky, že dokument zůstane jen v lokální infrastruktuře. Pokud se pro tvorbu stromu nebo odpovědi používá externí LLM API, relevantní obsah dokumentu se tomuto poskytovateli odesílá. Pro citlivé dokumenty je potřeba předem vyhodnotit použitý model a způsob nasazení.
Autoři uvádějí 98,7 % přesnost na benchmarku FinanceBench. Jde o jejich vlastní tvrzení; před nasazením je potřeba ověřit kvalitu na vlastních dokumentech, otázkách a požadavcích na přesnost.