alt.freeweights.minicpm / MiniCPM-OCR-Jev
From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject:

MiniCPM-OCR-Jev

Date: 2026-11-14Commit: a0ed278Signed: 2DC28CC7B26A283B ✓

Image text to text model with 2.2B parameters. Safetensors weights, 4.45 GB in all. Published by openbmb under Apache-2.0.

2.2B params4.45GBMiniCPM-OCR-Jevsafetensorspermissive
FactsParams2.2BSize4.45 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get openbmb/MiniCPM-OCR-Jev
# manifest sha256 f38b17d97d6e… · 4.45 GB · 10 files
$ fw verify ./MiniCPM-OCR-Jev openbmb/MiniCPM-OCR-Jev
From sourceHosted (signed)openbmb/MiniCPM-OCR-JevLast check: 2026-11-14 21:24 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen3.5-2B.

Works with

Overview

Size
4.45 GB
Weights
4.43 GB (safetensors)
Parameters
2.2B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
10, each with a sha256
Publisher
openbmb
Added
2026-11-14
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3.5-2B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:24 UTCpassed

Model card

From the publisher at commit a0ed278. Shown as plain text with links; images open at the publisher.

MiniCPM logo

GitHub · Free API · Usage · Skill

MiniCPM-OCR Jev is a 2B OCR correctness decision model for text, formula, and table regions. Given a region image and a candidate OCR result, it returns a score from 0 to 1 — higher means the candidate is more likely correct. Use it to auto-accept reliable regions, route the rest to human review, or pick the best result among several OCR models.

  • 🛡️ A small model that beats larger ones: at only 2B parameters, decision AUROC (×100) on JevOCRBench is 93.6, above JEV-35B-A3B (90.1) and close to Qwen3.5-397B-A17B (93.8).
  • 🧩 Stable generalization: on parses from MiniCPM-OCR 1.0, GLM-OCR, PaddleOCR-VL-1.6, and Xiaomi-OCR-0, AUROC (×100) stays in 91.9–93.4.
Architecture#

Trained from Qwen3.5-2B. The vision encoder and language backbone are retained, and the language-model output head lm_head is replaced with a binary classification head that learns whether a candidate is correct.

Inputs and outputs#
ItemDescription
Assessment unitOne text / formula / table region plus its candidate OCR result
Original region imageThe crop from the document
Candidate contentOCR text and an image rendered from that text
OutputScore in 0–1; higher = more likely correct

Internally, the model uses a matched original region image, candidate text, and rendered image. When calling the cloud API, the Docker image, or the SDK service with a built-in renderer, provide the original region image, candidate text, and the correct region category (text, formula, or table); the service handles rendering. The SDK service without a renderer requires the caller to supply the rendered image. See the deployment guide for request fields and image encoding formats.

Evaluation Results#

The table below reports overall and per-category AUROC (×100) on JevOCRBench. Higher values indicate better discrimination between correct and incorrect parsing results.

Image: Overall, text, formula, and table AUROC on JevOCRBench, highlighting MiniCPM-OCR Jev.

Discrimination across OCR models#

The cross-parser experiment uses the same 200 samples randomly drawn from JevOCRBench. Four OCR models parse the samples independently; each result is manually labelled correct or incorrect and then scored by MiniCPM-OCR Jev.

OCR modelMiniCPM-OCR 1.0GLM-OCRPaddleOCR-VL-1.6Xiaomi-OCR-0
AUROC (×100)92.791.993.493.1

In this experiment, AUROC (×100) ranges from 91.9 to 93.4, with a maximum difference of 1.5 points. These results describe performance on the samples and parser combinations above. Validate separately on your target data when using other parsers or new document types.

Automatic screening to reduce human review#

Score the parsed result for each region and choose a threshold using samples from your application. Results above the threshold proceed automatically; the rest go to human review. A higher threshold typically reduces the number of results that pass automatically, so monitor both the accuracy of automatically accepted results and the volume of human review.

Image: Accuracy versus review-free rate for legal documents, financial receipts, and complex documents.

Selecting across models to improve parsing quality#

Use the same layout segmentation to have several OCR models parse each region. MiniCPM-OCR Jev scores the candidates for the same region, selects the highest-scoring candidate, and combines the selected results in reading order. If all candidates fall below the application threshold, the region can still be sent for human review.

Image: Parsing-quality gains from MiniCPM-OCR Jev scoring for MiniCPM-OCR 1.0, Xiaomi OCR, and PaddleOCR-VL 1.6.

Candidates for the same region must share the crop and content boundaries. Jev selects among existing candidates, so quality is bounded by their coverage and correctness.

Examples#

The figure below compares the original image with candidates 1 and 2, showing how MiniCPM-OCR Jev scores text, formula, and table candidates.

Image: Three examples for text, formulas, and tables: original, candidate 1 and candidate 2, with MiniCPM-OCR Jev scores.

Quick start#

When a service has a built-in renderer (cloud API, Docker, SDK), check verdict before using the score — only scored means model scoring actually ran. Fixed values returned for precheck, rendering, or forward-pass failures must not be read as low model scores.

Fine-tuning#

ms-swift guide: data format, binary classification head configuration, training commands, and JevOCRBench evaluation.

FormatHugging FaceModelScope
BF16 (original) (this repo)🤗ModelScope
GGUF (llama.cpp)🤗ModelScope
AWQ W4A16🤗ModelScope
GPTQ W4A16🤗ModelScope

Jev works on candidates from any parser. The companion parser is MiniCPM-OCR 1.0.

FAQ#

Installation, model downloads, GPU memory, input formats, and unexpected outputs: FAQ.

License#

Model weights, code, and documentation are released under the Apache License 2.0.

Files

10 files · 4.45 GBWeights 4.43 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 10 files with their sha256
FileSizesha256
.gitattributes1.84 KB2092b5f59e45c3f6a9109b1cb5bb2ef94bfe0102282bf4f7819334ac09d80c4f
README.md8.34 KB85c7c19f9e03063d79a06bf3cdfc655d4ecd93202a75750ef559d725ad615876
chat_template.jinja7.75 KB273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80
config.json2.77 KBfd3d48eacdf595b290afc504ac05aa4a4e44343a227406e60eb61516dc772b34
generation_config.json176 Bdaa38670fac2e808a88a68c925f3af81e62b5447bcd81c048756753c0b1cf8d6
model.safetensors4.43 GB6e8e43049340a9d18f711634dcc88eb5880a3cd69c852815e76d5de3aea28dcc
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
processor_config.json1.19 KBd89ef49ce9cd37fbf510158e13c1ef063d9286411c1ec9049932dbe0487143b1
tokenizer.json20.0 MB06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
tokenizer_config.json1.17 KB792fa3f0cb88b111e54ef3134c873531008c4df471d108da17903426e308aa7b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
a0ed278eb6 pinned now manifest updated, same commit2026-11-14 21:24 UTC10 files · 4.45 GB
a0ed278eb62026-11-14 21:24 UTC10 files · 4.45 GB

Use it

$ fw get openbmb/MiniCPM-OCR-Jev
# manifest sha256 f38b17d97d6e… · 4.45 GB · 10 files
$ fw verify ./MiniCPM-OCR-Jev openbmb/MiniCPM-OCR-Jev
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-Jev.json --dir ./MiniCPM-OCR-Jev $ python3 fw.py verify ./MiniCPM-OCR-Jev ./openbmb__MiniCPM-OCR-Jev.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-Jev --revision a0ed278eb6aa1f333a711665ab610055a4a816ab --local-dir ./MiniCPM-OCR-Jev
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("openbmb/MiniCPM-OCR-Jev", revision="a0ed278eb6aa1f333a711665ab610055a4a816ab") model = AutoModelForImageTextToText.from_pretrained("openbmb/MiniCPM-OCR-Jev", revision="a0ed278eb6aa1f333a711665ab610055a4a816ab", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve openbmb/MiniCPM-OCR-Jev --revision a0ed278eb6aa1f333a711665ab610055a4a816ab

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
85c7c19f9e03063d79a06bf3cdfc655d4ecd93202a75750ef559d725ad615876
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject: MiniCPM-OCR-JevDate: 2026-11-14Commit: a0ed278Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/MiniCPM-OCR-Jev
Pinned commit
a0ed278eb6aa1f333a711665ab610055a4a816ab
Manifest
MiniCPM-OCR-Jev.json · .minisig
Manifest sha256
f38b17d97d6eff5df9c808fe61c76d3e206d4798af55e25f62ce9ae85381bd09
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:24 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-Jev.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-Jev.json.minisig $ minisign -Vm MiniCPM-OCR-Jev.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen3.5-2B · this model is a finetune of it

3 models in the catalog name this one as their parent.

Quantizations
3
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-Jev
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. MiniCPM-OCR-Jev.json. Provenance. Takedown history: none.

Variants

3 quantized or adapter builds of MiniCPM-OCR-Jev. Each has its own license check and page.

From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Explore-GGUF
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report-GGUF
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-0.5B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-1B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-3B-gguf