ai:platformy:rag-a-memory:pageindex

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.

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.

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ší.

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ů.

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ů.

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.

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.

  • ai/platformy/rag-a-memory/pageindex.txt
  • Poslední úprava: 31.07.2026 17:58
  • autor: Petr Nosek