← Demor / 06

Läs en faktura på en sekund

Välj ett exempel eller öppna en egen faktura i PDF. En liten modell i din webbläsare hittar säljare, köpare, momsregistreringsnummer, datum, belopp och IBAN och markerar var och en på sidan. Filen lämnar aldrig den här sidan.

Demon kräver JavaScript. Modellen är en nedladdning på 34 MB, en gång; din webbläsare sparar den.

Den läser digitala PDF-filer, sådana som bokföringsprogram exporterar, på engelska, polska, tyska, franska, spanska och litauiska. Skannade dokument och foton stöds inte. En lokal LLM skrev exemplen; alla företag och nummer i dem är påhittade.

98% vs 92%Av fälten i 60 handgranskade fakturor lästa rätt. En öppen LLM som är 200 gånger större läste 92 %.
80% komplettaAv dessa fakturor hade alla fält rätt; språkmodellen klarade 53 %. Kontrollsiffror och summor visas bredvid fälten.
Under en sekundPer faktura, i din webbläsare. Språkmodellen behövde 1,2 sekunder per faktura på en GPU.

Så fungerar det

DataInga riktiga fakturor. En generator skapade 9 000 fakturor i sex layouter och på sex språk. En lokal öppen språkmodell skrev 566 till för 30 slags företag, var och en i en egen layout, och varje faktura fylldes fem gånger till med påhittade namn och nummer. Varje faktura skrevs ut som PDF i Chrome och lästes tillbaka på samma sätt som den här sidan läser den.
ModellDe första 12 av mmBERT-smalls 22 lager, finjusterade för att markera orden i elva fält: 33 MB vikter plus ett ordförråd på 1 MB. Sidan läses block för block, så att en säljare och en köpare som står bredvid varandra inte blandas ihop. De 60 testfakturorna kommer från samma LLM, för tio andra slags företag, så 98 % är en övre gräns.
ReglerMomsregistreringsnummer och IBAN har kontrollsiffror. Ett val som inte klarar dem ersätts av det nummer på sidan som gör det, och netto plus moms måste bli totalen. Enbart regler läser 58 % av fälten och ingen faktura helt: de kan inte känna igen ett företagsnamn eller ett fakturanummer.
Jämfört med en språkmodellQwen 2.5 7B, ombedd att ge samma fält som JSON, läste 92 % av fälten och 53 % av fakturorna helt, på 1,2 sekunder per faktura på en GPU. En molntjänst med en språkmodell skulle dessutom behöva ta emot varje faktura, till ett pris per sida.

Kod, konfigurationer och hela jämförelsen: github.com/balticml/invoice-extraction. Vikter: huggingface.co/balticml/mmbert-small-invoice-extraction. Vill du ha detta för dina fakturor? Boka ett samtal på 30 min