Rozpracováno
Dokumentová pipeline
Feed dává metadata; čísla leží uvnitř dokumentů, které jsou převážně skeny. Tahle položka je místo, kde projekt uspěje nebo neuspěje — a zároveň jediné místo, kde se utrácí za každou stránku.
- Položky fáze
- 1.6 stahování a úložiště, 1.7 OCR, 1.8 extrakce do schématu a validace
- Závisí na
- 1.3 — akcích, které odkazují na dokument
- Klíč cache
- SHA-256 dokumentu plus verze extraktoru
- Bez LLM klíče
- extrakce ani pilotní cyklus s extrakcí se nespustí (OPENAI_API_KEY, ADR 0009); režim „jen OCR a vše do fronty kontroly“ neexistuje
- Stav
- 1.6 stahování a úložiště hotové; 1.7 OCR (Tesseract) hotové pro přihlášky, bez rozvržení stránky a bez výběru stran u dlouhých příloh; 1.8 extrakce přihlášek přes LLM do schématu s ověřením citací rozpracovaná; zprávy o přezkumu zatím ne
Stádia
Stádia, jak je pipeline navržená. U každého je uvedeno, co z něj dnes existuje; dnes jde jen o přihlášky.
- Postavené: stažení do úložiště adresovaného obsahem — už známý hash se nestahuje podruhé.
- Zatím ne: klasifikace typu dokumentu a oddílu spisu. Dnes dokument vybírá pravidlo nad metadaty feedu: z oddílu P první dokument typu „Přihláška pohledávky“, doručenka datové schránky se nestahuje a z PDF portfolia se čte vložený formulář.
- Postavené jen zčásti: text stránky — vlastní textová vrstva, pokud projde kontrolou češtiny, jinak OCR (Tesseract). Zatím ne: čtení rozvržení stránky, přestože o povaze čísla rozhoduje kolonka, ve které stojí, a výběr stran u dlouhých příloh.
- Postavené pro přihlášky: extrakce do deklarovaného JSON schématu; model nevolí tvar výstupu. Čte text stránek, obrázky stránek zatím nedostává.
- Postavené pro přihlášky: ověření citace a částky proti dokumentu, součty, kontrola IČO a potvrzení věřitele z rejstříku nebo ARES; skóre spolehlivosti se počítá jen z těchto kontrol, dnes po dílčí pohledávce, ne po jednotlivých polích.
%% title: Stádia dokumentové pipeline
%% caption: Dokument je adresovaný hashem obsahu a výsledek extrakce se cachuje podle hashe a verze extraktoru. Neprošlá kontrola citace nebo částky pošle pohledávku ke kontrole bez ohledu na ostatní. Dnes jen pro přihlášky; obecná klasifikace typu dokumentu, čtení rozvržení stránky a skóre po jednotlivých polích zatím postavené nejsou.
flowchart LR
A["Stažení<br/>adresováno obsahem"] --> H{"Hash<br/>už známý?"}
H -- "ano" --> C[("Cache<br/>SHA-256 + verze extraktoru")]
H -- "ne" --> B["Výběr dokumentu<br/>typ události a oddíl"]
B --> O["Text stránky<br/>vrstva nebo OCR"]
O --> E["Extrakce modelem<br/>do JSON schématu"]
E --> V{"Validace<br/>citace, částky,<br/>součty, IČO"}
V -- "selhala" --> Q["Fronta kontroly"]
V -- "prošla" --> S{"Skóre<br/>po dílčí pohledávce"}
S -- "pod prahem" --> Q
S -- "nad prahem" --> W[("Zápis s proveniencí<br/>dokument, stránka, skóre")]
E -.-> C
click A href "/roadmap/dokumentova-pipeline" "Dokumentová pipeline"
click C href "/architecture/vysledky-extrakce-jsou-cachovane" "Výsledky extrakce jsou cachované"
click E href "/architecture/ocr-a-llm-extrakce-do-schematu" "OCR + LLM extrakce do schématu"
click O href "/architecture/ocr-a-llm-extrakce-do-schematu" "OCR + LLM extrakce do schématu"
click V href "/docs/extrakce" "Extrakce"
click S href "/architecture/confidence-je-plnohodnotne-pole" "Confidence je plnohodnotné pole"
click Q href "/roadmap/fronta-lidske-kontroly" "Fronta lidské kontroly"
click W href "/about/cislo-bez-zdroje-neni-udaj" "Číslo bez zdroje není údaj"
class A st-in_progress
class Q st-in_progress
Barva uzlu je stav položky na roadmapě: Rozpracováno
Cache není optimalizace
Výsledky se ukládají podle hashe dokumentu a verze extraktoru. Bez toho by každá oprava projektoru znamenala znovu zaplatit celý backfill v OCR a tokenech — a tým by opravy přestal dělat.
Zvýšení verze extraktoru cache zneplatňuje záměrně a výběrově: znovu se vytěží jen ty typy dokumentů, které se změnily.
Co se lepším promptem nevyřeší
Přihlášky mimo úřední formulář nemají layout, na který by se dalo kotvit. Přílohy o stovkách stran narážejí na cenu i na kontext a potřebují výběr stránek. Řízení před novelou z roku 2017 mají místo zpráv o přezkumu protokoly z přezkumného jednání — jiný dokument a jiný slovník.
Každý z těchto případů potřebuje vlastní strategii a ve většině i cestu do fronty kontroly. Jsou vedené jako otevřené otázky, ne jako detaily implementace.
Kde to v repozitáři žije
docs/EXTRACTION.md— stádia pipeline, cache, těžké případy a měření kvalitydocs/ARCHITECTURE.md— proč je dokumentová pipeline oddělená od příjmu datdocs/development/COST-MODEL.md— cena za dokument, která rozhoduje o rozsahu backfillu
Souvisí
OCR + LLM extrakce do schématu
Klasické OCR na formulářích přihlášek selhává. Pipeline kombinuje OCR a multimodální extrakci do deklarovaného JSON schématu, výsledek validuje a teprve pak zapisuje.
Detail
Fronta lidské kontroly
RozpracovánoZdrojový dokument na správné stránce vedle kandidátních hodnot, typované rozhodnutí a záznam kdo a kdy. Rozhodnutí jsou data, která se přehrávají — ne editace v databázi.
Detail
Nákladový model
RozpracovánoZměřeno z živého archivu a vzorku (9. 9. 2026): tok dokumentů, struktura po druzích řízení, strany, textová vrstva a podíl doručenek; z pilotní extrakce (1. 10. 2026): čas OCR na stránku a tokeny LLM na přihlášku. Rejstřík publikuje zhruba čtyři nové dokumenty na každý povolený požadavek denně — výběr dokumentů je podmínka, ne páka. Chybí míra opakování extrakce a počty řízení v rozsahu podle fáze; rozhodnutí o rozsahu stále blokuje.
Detail