← Demos / 06

Leia uma fatura num segundo

Escolha um exemplo ou abra uma fatura em PDF sua. Um modelo pequeno no seu navegador encontra o vendedor, o comprador, os números de IVA, as datas, os montantes e o IBAN, e marca cada um na página. O ficheiro nunca sai desta página.

A demo precisa de JavaScript. O modelo é descarregado uma só vez, 34 MB; o seu navegador guarda-o.

Lê PDF digitais, do tipo que o software de contabilidade exporta, em inglês, polaco, alemão, francês, espanhol e lituano. Digitalizações e fotografias não são suportadas. Um LLM local escreveu os exemplos; todas as empresas e números neles são inventados.

98% vs 92%Dos campos em 60 faturas verificadas à mão, os lidos corretamente. Um LLM aberto 200 vezes maior leu 92%.
80% completasDessas faturas tinham todos os campos certos; o LLM conseguiu 53%. Os dígitos de controlo e as somas aparecem ao lado dos campos.
Menos de um segundoPor fatura, no seu navegador. O LLM precisou de 1,2 segundos por fatura numa GPU.

Como funciona

DadosNenhuma fatura real. Um gerador criou 9 000 faturas em seis layouts e seis línguas. Um LLM aberto local escreveu mais 566 para 30 tipos de negócio, cada uma com um layout próprio, e cada uma foi preenchida mais cinco vezes com nomes e números inventados. Cada fatura foi impressa em PDF no Chrome e lida de volta da forma como esta página a lê.
ModeloAs primeiras 12 das 22 camadas do mmBERT-small, afinadas para marcar as palavras de onze campos: 33 MB de pesos mais um vocabulário de 1 MB. A página é lida bloco a bloco, para que um vendedor e um comprador impressos lado a lado não se confundam. As 60 faturas de teste vêm do mesmo LLM, para outros dez tipos de negócio, por isso 98% é um limite superior.
RegrasOs números de IVA e os IBAN têm dígitos de controlo. Uma escolha que falha a verificação é substituída pelo número da página que a passa, e o valor líquido mais o IVA tem de dar o total. As regras sozinhas leem 58% dos campos e nenhuma fatura completa: não conseguem reconhecer um nome de empresa nem um número de fatura.
Comparado com um LLMO Qwen 2.5 7B, a quem se pediram os mesmos campos em JSON, leu 92% dos campos e 53% das faturas completas, com 1,2 segundos por fatura numa GPU. Um LLM alojado teria ainda de receber cada fatura, com um preço por página.

Código, configurações e o benchmark completo: github.com/balticml/invoice-extraction. Pesos: huggingface.co/balticml/mmbert-small-invoice-extraction. Quer isto nas suas faturas? Marcar uma chamada de 30 min