Přeskočit na obsah

Extrakce

Tady projekt uspěje, nebo selže. Dokument nezačíná návrhem, ale výčtem toho, co na těch PDF nefunguje, a končí seznamem případů, u kterých autor přiznává, že řešení zatím nemá.

Stav
plánováno — žádný kód pipeline neexistuje
Výchozí práh
0,85 skóre spolehlivosti
Přísnější práh
0,95 pro pohledávky nad 1 000 000 Kč
Klíč cache
SHA-256 dokumentu plus verze extraktoru
LLM stádium
volitelné na úrovni nasazení; bez něj vše končí v kontrole

Proč to nejde vyřešit klasickým OCR

Stádia a routing

Stažení adresuje dokument hashem obsahu, takže známý hash se přeskočí. Následuje klasifikace typu dokumentu a oddílu spisu, OCR na text a layoutové boxy, extrakce do deklarovaného JSON schématu (model si tvar výstupu nevolí) a validace: schéma, doménová pravidla, konzistence napříč poli a u závěrek účetní identity.

Skóre je per pole i per záznam. Záznam, u kterého je nominál jistý a příznak zajištění ne, pošle do kontroly příznak a nominál zapíše — pokud záznam zůstane vnitřně konzistentní. Pokud ne, jde do kontroly celý.

Selhané validační pravidlo a selhaná účetní identita míří do kontroly vždy, bez ohledu na skóre. Prompt navíc modelu výslovně přikazuje vrátit null místo odhadu.

Šest případů, které lepší prompt nevyřeší

PřípadProč rozbíjí naivní extrakci
Přihláška mimo úřední formulářruční podání nemá layout, o který by se šlo opřít
Přílohy o stovkách strannáklad a kontextové limity; před extrakcí je potřeba výběr stran
Řízení před rokem 2017protokoly z přezkumného jednání místo zpráv o přezkumu — jiný dokument, jiný slovník
Rozvrhová usneseníodkazují pořadová čísla ze seznamu přihlášených pohledávek, ne P-pozice
Více dílčích pohledávek v jedné přihlášceopakující se sekce formuláře se musí rozdělit správně, jinak se částky slijí
Opravy a doplněnípozdější dokument mění dřívější; seznam událostí to musí zaznamenat, ne přepsat historii

Cache a náklad

Výsledky se ukládají podle hashe dokumentu a verze extraktoru. Není to optimalizace, je to podmínka, aby byl event-sourced návrh vůbec finančně únosný — bez cache by každá oprava projektoru stála celý backfill v OCR a tokenech a tým by chyby v projektoru přestal opravovat. Zvýšení verze extraktoru zneplatňuje cache záměrně a výběrově, jen pro typy dokumentů, které se změnily.

Každý dokument stojí čas OCR a tokeny. Rozhodnutí o rozsahu backfillu je proto v prvé řadě nákladové — a nákladový model má být vyplněný před startem fáze 1, ne po něm. Zatím vyplněný není.

Kde to v repozitáři žije

Souvisí

Zpět na sekci Dokumentace