← Dema / 06

Odczytaj fakturę w sekundę

Wybierz przykład albo otwórz własną fakturę w PDF. Mały model w Twojej przeglądarce znajduje sprzedawcę, nabywcę, numery NIP/VAT, daty, kwoty i IBAN, i zaznacza każde z tych pól na stronie. Plik nie opuszcza tej strony.

Demo wymaga JavaScriptu. Model to 34 MB do pobrania raz; przeglądarka go zachowuje.

Czyta cyfrowe pliki PDF, takie jak eksportują programy księgowe, po angielsku, polsku, niemiecku, francusku, hiszpańsku i litewsku. Skany i zdjęcia nie są obsługiwane. Przykłady napisał lokalny LLM; wszystkie firmy i liczby są w nich zmyślone.

98% vs 92%Tyle pól z 60 ręcznie sprawdzonych faktur odczytano poprawnie. Otwarty LLM, 200 razy większy: 92%.
80% kompletnychTyle z tych faktur ma wszystkie pola poprawne; LLM osiągnął 53%. Cyfry kontrolne i sumy widać obok pól.
Poniżej sekundyNa fakturę, w przeglądarce. LLM potrzebował 1,2 sekundy na fakturę na GPU.

Jak to działa

DaneŻadnych prawdziwych faktur. Generator utworzył 9 000 faktur w sześciu układach i sześciu językach. Lokalny otwarty LLM napisał 566 kolejnych dla 30 branż, każdą we własnym układzie, i każdą wypełniono jeszcze pięć razy zmyślonymi nazwami i numerami. Każdą fakturę wydrukowano do PDF w Chrome i odczytano tak, jak czyta ją ta strona.
ModelPierwsze 12 z 22 warstw mmBERT-small, dostrojone do oznaczania słów jedenastu pól: 33 MB wag plus 1 MB słownika. Strona jest czytana blok po bloku, więc sprzedawca i nabywca wydrukowani obok siebie się nie mieszają. 60 faktur testowych pochodzi od tego samego LLM, dla dziesięciu innych branż, więc 98% to górna granica.
RegułyNumery NIP/VAT i IBAN-y mają cyfry kontrolne. Jeśli wybrany numer ich nie spełnia, zastępuje go numer ze strony, który je spełnia, a kwota netto plus VAT musi równać się kwocie brutto. Same reguły odczytują 58% pól i żadnej faktury w całości: nie rozpoznają nazwy firmy ani numeru faktury.
Porównanie z LLMQwen 2.5 7B, poproszony o te same pola w formacie JSON, odczytał 92% pól i 53% faktur w całości, w 1,2 sekundy na fakturę na GPU. Hostowany LLM musiałby też dostać każdą fakturę, za opłatą od strony.

Kod, konfiguracje i pełny benchmark: github.com/balticml/invoice-extraction. Wagi: huggingface.co/balticml/mmbert-small-invoice-extraction. Chcesz tak czytać swoje faktury? Umów 30-minutową rozmowę