MiniCPM-OCR Jev
OpenBMB MiniCPM-OCR Jev: 2B Apache-2.0 scores OCR regions 0 to 1 for human review gates and best-of-N parser selection.
Overview
MiniCPM-OCR Jev (github.com/OpenBMB/MiniCPM-OCR, Apache-2.0) is OpenBMB's 2B OCR correctness decision model. Given a region crop, candidate OCR text, and category (text, formula, or table), it returns a quality score from 0 to 1. The repo and Hugging Face weights (openbmb/MiniCPM-OCR-Jev) shipped with MiniCPM-OCR 1.0 in October 2026. It is trained from Qwen3.5-2B with the lm_head replaced by a binary classification head.
Problem: Document pipelines need a thresholdable signal for whether each OCR region is trustworthy before auto-accepting or sending work to human review.
Built for: Teams parsing scans, photos, or PDFs who want a small open model to score OCR candidates per text, formula, or table region.
First indexed on Jev Directory: 2026-10-27
Creator and team
- Name
- OpenBMB
- Organization
- OpenBMB
- Handle
- @OpenBMB
How Jev is used
- Role in the product flow
- Region-level OCR quality gate: score one candidate, pick best-of-N across parsers, or batch best-of-N across blocks
- Primitives
- Score
- State in
- Original region image plus candidate OCR text and category (text, formula, or table). Cloud API, Docker, or SDK paths with a built-in renderer accept image, text, and category; callers without a renderer supply a rendered image of the candidate text.
- Decision out
- A 0 to 1 quality score when verdict is scored. Precheck, rendering, or forward failures return fixed codes that must not be treated as low model scores.
- Parse documents and preserve region ids, crops, categories, and candidate text
- Call score, score_best, or score_best_batch on the API or local vLLM, SGLang, llama.cpp, Ollama, or FlagOS deployment
- Check verdict equals scored before thresholding
- Route above-threshold regions to downstream storage; send the rest to human review or another parser
MiniCPM-OCR Jev is a Jev-shaped OCR scorer, not hosted TypeSafe System One. It pairs with MiniCPM-OCR 1.0 or third-party parsers when you need calibrated-style gates on extraction quality. Use cases in OpenBMB docs include automatic screening (pick a threshold on your own labeled samples) and best-of-N selection across OCR models on the same layout segmentation. AUROC measures discrimination between correct and incorrect candidates; OpenBMB explicitly warns it does not set a universal default threshold. docjev and uipath-typesafe-jev-connector show TypeSafe Jev on document workflows; this listing covers OpenBMB's open 2B weights and JevOCRBench. theoleecj-semif and motherduck-prompt-jev are other decision surfaces in this directory. Cite https://github.com/OpenBMB/MiniCPM-OCR?ref=jev.aitools.fyi, https://huggingface.co/openbmb/MiniCPM-OCR-Jev?ref=jev.aitools.fyi, https://huggingface.co/datasets/openbmb/JevOCRBench?ref=jev.aitools.fyi, and https://platform.modelbest.ai/console/docs/api/ocr-jev?ref=jev.aitools.fyi.
Sourced performance claims
- On JevOCRBench, OpenBMB reports AUROC (times 100) of 93.6 for MiniCPM-OCR Jev versus 90.1 for JEV-35B-A3B and 93.8 for Qwen3.5-397B-A17B.Source: github.com/OpenBMB/MiniCPM-OCR README and docs/minicpm_ocr_jev_en.md (OpenBMB-measured, vendor benchmark)
- Cross-parser experiment on 200 JevOCRBench samples: AUROC (times 100) 92.7 (MiniCPM-OCR 1.0), 91.9 (GLM-OCR), 93.4 (PaddleOCR-VL-1.6), 93.1 (Xiaomi-OCR-0).Source: docs/minicpm_ocr_jev_en.md (OpenBMB-measured on stated sample and parsers)
Features and stack
Features
- 2B parameters, Apache-2.0 weights and code
- Scores text, formula, and table regions from 0 to 1
- Free cloud API plus Docker, SDK, vLLM, SGLang, llama.cpp, Ollama, FlagOS
- BF16, GGUF, AWQ, and GPTQ weight formats
- ms-swift fine-tuning guide for domain-specific parsers
- JevOCRBench dataset on Hugging Face for evaluation
Stack
- Qwen3.5-2B derived architecture
- MiniCPM-OCR parsing family
- ModelBest cloud API
- Self-hosted inference (vLLM, SGLang, llama.cpp, Ollama)
Pricing: Apache-2.0 open weights; ModelBest documents a free cloud OCR-Jev API tier. You pay for GPUs or cloud inference you self-host.
Links
FAQ
- What does AUROC 93.6 on JevOCRBench mean in practice?
- OpenBMB reports AUROC (times 100) of 93.6 on JevOCRBench, meaning the 2B model ranks correct OCR candidates above incorrect ones better than JEV-35B-A3B (90.1) on that vendor benchmark. AUROC does not pick a production threshold; OpenBMB docs say to tune thresholds on your own labeled regions.
- When is a score safe to use?
- Only when the API or service returns verdict scored. Rendering failures and forward errors return fixed values that must not be read as low confidence from the model.
- Is MiniCPM-OCR Jev the same as TypeSafe Jev?
- No. It is OpenBMB's independent 2B OCR quality model with Jev in the name and benchmark, not api.typesafe.ai System One. Use TypeSafe Jev listings for hosted choice, score, and noul on general text state.
- How do OpenBMB's cross-parser numbers compare?
- On 200 JevOCRBench samples scored by MiniCPM-OCR Jev, OpenBMB reports AUROC (times 100) from 91.9 to 93.4 across MiniCPM-OCR 1.0, GLM-OCR, PaddleOCR-VL-1.6, and Xiaomi-OCR-0 parsers. Those are OpenBMB-measured on that experiment, not independent audits.
Related learn guides
Original Jev guidance that pairs with this product pattern.
- Jev use cases
The patterns builders actually search for: moderation, routing, triage, RAG verify, and agent gates.
- Jev vs LLM classification
When to gate with System One probabilities instead of asking a chat model to label things.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.