Receipts and invoices in, structured tool calls out.
weights · open sourceA LoRA fine-tune of Gemma 4 12B that reads receipt or invoice text and emits structured extract_fields tool calls, and is trained to abstain when a requested field isn't there.
highlights
- 01On 100 held-out CORD receipts, field match went from 0.12 with stock Gemma 4 12B to 0.99. Abstention went from 0.98 to 1.0.
- 02LoRA SFT and DPO with Unsloth, then merge and GGUF quantization.
- 03Auden-DocBench evaluation served through llama.cpp, with a normalised scorer, a field-level failure taxonomy and a 15-tool document-agent schema.
- 04Apache-2.0 GGUF weights (Q4_K_M, Q8_0) with checksums and reproduction commands.
evaluation & scope
The published evaluation uses OCR text from 100 held-out CORD receipts, with the release prompt and tool schema. It does not establish image-input accuracy or performance on handwriting and long, unfamiliar invoices. The model card includes limitations and reproduction commands.
built with
- python
- unsloth
- lora
- dpo
- gemma 4
- llama.cpp
- gguf