MIST-Extract 1.0: document extraction built for African documents

Two open models that turn receipts, mobile-money messages, bills and letters into clean JSON, in English and African languages, with a confidence score on every field.

A lot of the paperwork that runs African businesses never touches a PDF. It arrives as a mobile-money SMS, a photo of a market receipt in naira, a screenshot of a bank alert, or a tenancy notice in Pidgin or Hausa. Pulling the amount, the date and the name out of that by hand is slow, and general-purpose extraction models were trained mostly on Western invoices.

Today we’re releasing MIST-Extract 1.0, built for exactly these documents.

What it does

Give it a JSON template and a document. The document can be text, a photo or scan, or a screenshot. It fills in the template:

template = {"recipient": "verbatim-string", "amount": "number",
            "fee": "number", "reference": "verbatim-string", "date": "date"}

"Your MTN MoMo transfer of GHS 250.00 to KOFI MENSAH was successful.
 Fee GHS 2.50. Ref 88213374. 14/10/2025"

→ {"recipient": "KOFI MENSAH", "amount": 250, "fee": 2.5,
   "reference": "88213374", "date": "2025-10-14"}

Every field comes back with a calibrated confidence, so you can accept the fields it’s sure of and send the rest to a person.

Two sizes

Both are full fine-tunes of Qwen3.5, released under Apache-2.0, and use the same template format as NuExtract, so existing templates work unchanged.

How it does

We tested both models against NuExtract3 (4B), the untuned Qwen3.5-4B, LiquidAI’s LFM2 Extract models and GLiNER2.5, on the same 2,016 held-out documents in 32 languages. Every model got the same input and the same scoring rules.

Field accuracyMIST 4BFlash 2BNuExtract3Qwen3.5-4B
All held-out documents0.8980.8790.8010.762
Receipt photos1.0000.9990.9250.738
African documents0.9310.9120.9190.890
Named entities, 21 African languages0.7280.7010.3930.432

The fields that matter most in these documents are dates, amounts and currencies:

Field typeMIST 4BFlash 2BNuExtract3
Dates0.9790.9750.884
Amounts0.9840.9700.964
Currency0.9750.9750.966

On English documents of these kinds, MIST-Extract gets 91.8% of documents completely right, against 67.9% for NuExtract3. The gap is widest in languages that rarely appear in training data: in chiShona, Luo and isiXhosa, MIST-Extract-1.0 is 40 to 55 points ahead.

Confidence you can act on

A score is only useful if it means something. When MIST-Extract-1.0 says 0.66, it is right about 66% of the time; across held-out fields its calibration error is 0.008. On one receipt photo it misread the shop name, and told us so:

merchant: "GL HANDICRAFT & TAIL CHINGS"   0.50
date: "2018-03-27"                        0.95
total: 130                                0.94

Set a threshold, say 0.95: fields above it go straight through, and fields below it go to review.

Use it

vllm serve olaverse/MIST-Extract-1.0 \
  --limit-mm-per-prompt '{"image": 1, "video": 0}' \
  --chat-template-content-format openai \
  --max-model-len 131072

Then call it with any OpenAI client, passing your template as chat_template_kwargs. The model cards have full examples for text, images, instructions and per-field confidence.

MIST-Extract is built for African and English everyday documents. For general Western invoices and multi-page PDFs, a general-purpose extractor such as NuExtract3 is the better fit.

Get the models

Building with these documents, or want to use MIST-Extract in production? Get in touch at olaverselab.com.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *