Dokumentová pipeline je oddělená od příjmu
Příjem a extrakce mají různé nákladové profily a různé nároky na latenci. Když běží v jedné frontě, je celý systém pomalý jako nejhorší sken v dávce — a zpoždění za rejstříkem přestane být měřitelné jako samostatná veličina.
- Cíl příjmu
- událost zpracovaná do 24 hodin od publikace
- Limity zdroje
- 50 požadavků za minutu, 3000 za den; lokální limiter jen přísnější
- Dělba práce
- příjem zaznamená, že dokument existuje; pipeline ho zpracuje, až na něj dojde
- Stav
- plánováno (fáze 1: klient feedu, stažení dokumentů, OCR, extrakce)
Dvě rychlosti, dvě fronty
Příjem je čtení metadat: pořadové ID, spisová značka, typ události, typ dokumentu, odkaz. Je levný a musí držet krok s rejstříkem, protože zpoždění za zdrojem je hlavní provozní ukazatel celého produktu.
Extrakce je stažení PDF, OCR, multimodální vytěžení, validace a u nejistých položek zásah analytika. Trvá řádově déle a u dlouhých příloh může trvat velmi dlouho. Sdílená fronta by z téhle latence udělala latenci příjmu.
Selhání v dokumentech nesmí zastavit sledování rejstříku
- Neúspěšné stažení dokumentu ho nechá ve stavu čekající a opakuje se s omezeným počtem pokusů — příjem tím neblokuje.
- Nejistá nebo selhaná extrakce jde do fronty kontroly, ne zpět do příjmu.
- Obě fronty mají vlastní limity, aby dokumentová část nikdy nespotřebovala denní rozpočet požadavků určený pro sledování feedu.
Zpoždění se měří zvlášť
Každá fronta má vlastní metriku zpoždění. Jediné souhrnné číslo by zamaskovalo přesně ten stav, na kterém záleží: rejstřík sledovaný v reálném čase a přitom rostoucí hromada nezpracovaných dokumentů — nebo naopak.
Zpoždění feedu je proto samostatný ukazatel s vlastním runbookem a vlastním alertem.
Kde to v repozitáři žije
docs/ARCHITECTURE.md— oddělení příjmu a dokumentové pipeline, komponenty a jejich odpovědnostidocs/INGESTION.md— poll smyčka, limity, jaké metriky se sledujídocs/runbooks/feed-lag.md— co dělat, když zpoždění za rejstříkem roste
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
Výsledky extrakce jsou content-addressed a cachované
Dokument je identifikovaný SHA-256 svých bajtů a výsledek extrakce je uložený proti tomuto hashi. Přehrání projekce znovu použije cache a nespustí OCR ani LLM. Bez toho by každá oprava projektoru stála celý backfill znovu.
Detail
Dokumentová pipeline
PlánovánoStahování do content-addressed úložiště, OCR, extrakce do deklarovaného schématu, validace a skóre spolehlivosti. Výsledky budou cachované podle hashe dokumentu, takže přehrání projekce nic nestojí.
Detail