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

MiniCPM-OCR-Jev-GPTQ

Date: 2026-11-15Commit: b06c997Signed: 2DC28CC7B26A283B ✓

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

2.2B params2.41GBMiniCPM-OCR-Jev-GPTQsafetensorspermissive
FactsParams2.2BSize2.41 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get openbmb/MiniCPM-OCR-Jev-GPTQ
# manifest sha256 7857b7fb8f3a… · 2.41 GB · 11 files
$ fw verify ./MiniCPM-OCR-Jev-GPTQ openbmb/MiniCPM-OCR-Jev-GPTQ
From sourceHosted (signed)openbmb/MiniCPM-OCR-Jev-GPTQLast check: 2026-11-15 04:42 UTC

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

Quantized of MiniCPM-OCR-Jev.

Works with

Overview

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

Original release from the publisher.

Base model: openbmb/MiniCPM-OCR-Jev

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-15 04:42 UTCpassed

Model card

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

MiniCPM logo

GitHub · Usage

This repository hosts the GPTQ W4A16 quantized version of MiniCPM-OCR Jev. For the original BF16 weights and the base model card, see openbmb/MiniCPM-OCR-Jev. Everything below describes the model itself; see Quantization for what changed.

MiniCPM-OCR Jev (2B) is an OCR quality-assessment 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.

MiniCPM-OCR Jev#

MiniCPM-OCR Jev is a 2B OCR quality-assessment 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.

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

When calling the cloud API, the Docker image, or the SDK service with a built-in renderer, supply the original region image, the candidate text, and the region category (text / formula / table) — the service renders internally. A service without a renderer requires you to supply the rendered image as well.

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#
OCR modelMiniCPM-OCR 1.0GLM-OCRPaddleOCR-VL-1.6Xiaomi-OCR-0
AUROC (×100)92.791.993.493.1

Same 200 samples drawn at random from JevOCRBench; four models parse them independently, every candidate is hand-labelled, then scored by MiniCPM-OCR Jev. Maximum gap 1.5 points.

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.

Pipeline integration#
  1. Keep page/region ids, original region images, region categories, and candidate text while parsing.
  2. Submit image + category + candidate text (renderer service), or image + rendered image (renderer-less service).
  3. Check status, associate scores with candidates, apply your threshold, and compare candidates within each region when several models are in play.
  4. Emit selected results in the original reading order and keep pending regions for reviewers.

Use score for one candidate, score_best for best-of-N within a block, and score_best_batch across blocks — see the API documentation (stub for now; until it lands use the vLLM deploy guide for Jev).

Fine-tuning#

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

Quantization#

FieldValue
Formatcompressed-tensors, pack-quantized
Weight bits4
Group size128
ActivationsBF16 (W4A16)
Toolllm-compressor
Reciperecipe.yaml (kept in this repository)

Weight footprint drops from about 4.43 GB (BF16) to about 2.41 GB.

FileNotes
model.safetensors4-bit quantized weights
config.jsonbase config + quantization_config
recipe.yamlquantization recipe (AWQ/GPTQ modifiers, layer mappings)
tokenizer / chat template / processor configstokenizer and processor configs

The service name and request format are the same as the base model:

vllm serve openbmb/MiniCPM-OCR-Jev-GPTQ \
  --served-model-name MiniCPM-OCR-Jev \
  --trust-remote-code
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

11 files · 2.41 GBWeights 2.39 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 11 files with their sha256
FileSizesha256
.gitattributes1.84 KB2092b5f59e45c3f6a9109b1cb5bb2ef94bfe0102282bf4f7819334ac09d80c4f
README.md10.1 KB0e2a9600dd1ced9841cbed69548184e06397c0c2a25cab200222df59622ff398
chat_template.jinja7.75 KB273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80
config.json12.2 KBfd56cdc8e4d94c3298bcf5012764f1793f2f442ba34ed5257c06bfd7c5e4f4ad
generation_config.json176 Bdaa38670fac2e808a88a68c925f3af81e62b5447bcd81c048756753c0b1cf8d6
model.safetensors2.39 GB5279005d9866f3fb86e3155a5d29d2c16a293bc42a813f7628d1911d1014bbca
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
processor_config.json1.19 KBd89ef49ce9cd37fbf510158e13c1ef063d9286411c1ec9049932dbe0487143b1
recipe.yaml1.03 KB8a5e38bff4250425d4367b0ef77d67493d8860bc0c04e15a130a1951414b713e
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
b06c997121 pinned now2026-11-15 04:42 UTC11 files · 2.41 GB

Use it

$ fw get openbmb/MiniCPM-OCR-Jev-GPTQ
# manifest sha256 7857b7fb8f3a… · 2.41 GB · 11 files
$ fw verify ./MiniCPM-OCR-Jev-GPTQ openbmb/MiniCPM-OCR-Jev-GPTQ
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-GPTQ.json --dir ./MiniCPM-OCR-Jev-GPTQ $ python3 fw.py verify ./MiniCPM-OCR-Jev-GPTQ ./openbmb__MiniCPM-OCR-Jev-GPTQ.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-Jev-GPTQ --revision b06c99712172312936a950b469a7935b487a5b27 --local-dir ./MiniCPM-OCR-Jev-GPTQ
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-GPTQ", revision="b06c99712172312936a950b469a7935b487a5b27") model = AutoModelForImageTextToText.from_pretrained("openbmb/MiniCPM-OCR-Jev-GPTQ", revision="b06c99712172312936a950b469a7935b487a5b27", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve openbmb/MiniCPM-OCR-Jev-GPTQ --revision b06c99712172312936a950b469a7935b487a5b27

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-15
Text in
README.md
Text sha256
0e2a9600dd1ced9841cbed69548184e06397c0c2a25cab200222df59622ff398
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-Jev-GPTQDate: 2026-11-15Commit: b06c997Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/MiniCPM-OCR-Jev-GPTQ
Pinned commit
b06c99712172312936a950b469a7935b487a5b27
Manifest
MiniCPM-OCR-Jev-GPTQ.json · .minisig
Manifest sha256
7857b7fb8f3a8445f6a856b906a602bca4b26a3d1838e2c163b358506b3214dd
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:42 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-Jev-GPTQ.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-Jev-GPTQ.json.minisig $ minisign -Vm MiniCPM-OCR-Jev-GPTQ.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

openbmb/MiniCPM-OCR-Jev · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-Jev-GPTQ
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-GPTQ.json. Provenance. Takedown history: none.
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