---
title: MiniCPM-OCR-Jev-BF16-ascend-FlagOS
canonical_url: "https://www.modelscope.cn/models/FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS"
md_url: "https://www.modelscope.cn/models/FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS.md"
repository: FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS
last_updated: 2026-10-28
license: apache-2.0
model_type:
  - qwen3_5
architectures:
  - Qwen3_5ForConditionalGeneration
library_name:
  - safetensors
language:
  - zh
  - en
downloads: 4
stars: 0
---

# MiniCPM-OCR-Jev-BF16-ascend-FlagOS

> MiniCPM-OCR-Jev-BF16-ascend-FlagOS - FlagRelease 在 ModelScope 开源的模型。Introduction ModelBest, together with OpenBMB, has open-sourced the MiniCPM-OCR series for document parsing and text recognition, comprising two models: MiniCPM-OCR 1.0 (1.3B) and…

FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS 是 ModelScope 魔搭社区上的机器学习模型，采用 apache-2.0 许可。

- **Repository**: FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS
- **License**: apache-2.0
- **Downloads**: 4
- **Stars**: 0
- **Last updated**: 2026-10-28

Source: https://www.modelscope.cn/models/FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS

---

# Introduction
ModelBest, together with OpenBMB, has open-sourced the MiniCPM-OCR series for document parsing and text recognition, comprising two models: MiniCPM-OCR 1.0 (1.3B) and MiniCPM-OCR Jev (2B). Built on a unified multi-chip software stack, the FlagOS community provides Day-0 cross-chip adaptation for both models, covering 12 platforms in total: T-Head, NVIDIA, Huawei Ascend, Hygon, KUNLUNXIN, MetaX, Moore Threads, Tsingmicro, Iluvatar CoreX, Xiwang, Mac (ARM), and CIX. In this round of evaluation, the FlagOS build of Jev reached 98.7% of NVIDIA native compute throughput, while on the same platform OCR 1.0 delivered up to 1.69× native P50 throughput per unit of peak compute. On ARM edge devices, Jev completes a page-block assessment in an average of 1.20 seconds using the M5 CPU alone. Backed by FlagOS support for both multi-chip servers and ARM terminals, industry users can pick a document parsing and quality-inspection deployment that matches their business requirements and existing compute resources.

MiniCPM-OCR 1.0 targets real-world document scenarios — scans, photos, curved pages, and re-photographed screens — with support for text, formula, and complex table parsing as well as key information extraction. In official evaluations, this lightweight 1.3B-parameter model scored 93.68 on Real5-OmniDocBench, and with DSpark decoding acceleration its end-to-end processing efficiency improved by 55%. To address the problem that parsed output still needs manual verification, the 2B-parameter MiniCPM-OCR Jev acts as an "AI quality inspector" for documents: it scores the reliability of parsing results and can be plugged into different OCR models to help flag content that requires human review. Its overall AUROC on JevOCRBench reaches 0.936, close to the 0.938 of Qwen3.5-397B-A17B.


### Integrated Deployment
- Out-of-the-box inference scripts with pre-configured hardware and software parameters
- Released **FlagOS-Ascend** container image supporting deployment within minutes
### Consistency Validation
- Rigorously evaluated through benchmark testing: Performance and results from the FlagOS software stack are compared against native stacks on multiple public.

# Evaluation Results
## Benchmark Result
| Metrics      | MiniCPM-OCR-Jev-Nvidia-Origin | MiniCPM-OCR-Jev-Ascend-FlagOS |
|--------------|--------------------------------|--------------------------------------|
| ocr_rm_mini(12 entries) avg_prob_1 | 0.4817                         | 0.4822                               |
| omnidocbench-render-compare(60 entries) avg_prob_1 | 0.2397                         | 0.2385                               |
# User Guide
Environment Setup

| Item             | Version              |
|------------------|----------------------|
| Docker Version   | Docker version 20.10.8 |
| Operating System | openEuler 22.03 (LTS-SP4) |

## Operation Steps

### Download FlagOS Image
```bash
docker pull harbor.baai.ac.cn/flagrelease-public/jev-value-ascend001-gems0.0.0-tree0.7.0-cxnone-pluginnone-vllmnone-sglangnone-sglangflnone-cp311-ptnpunone-cann90-a64-none:202610271104
```

### Download Open-source Model Weights
```bash
pip install modelscope
modelscope download --model FlagRelease/MiniCPM-OCR-Jev-BF16-ascend-FlagOS --local_dir /data/MiniCPM-OCR-Jev
```

### Start the Container
```bash
docker run \
  -d \
  --name jev-value-flagos \
  --runtime ascend \
  --network host \
  --ipc host \
  --shm-size 128g \
  --security-opt label=disable \
  --workdir /opt/jev \
  --device /dev/davinci1 \
  --device /dev/davinci_manager \
  --device /dev/devmm_svm \
  --device /dev/hisi_hdc \
  --mount type=bind,src=/usr/local/Ascend/driver,dst=/usr/local/Ascend/driver,readonly,bind-propagation=rprivate \
  --mount type=bind,src=/usr/local/Ascend/firmware,dst=/usr/local/Ascend/firmware,readonly,bind-propagation=rprivate \
  --mount type=bind,src=/etc/ascend_install.info,dst=/etc/ascend_install.info,readonly,bind-propagation=rprivate \
  --mount type=bind,src=/data/adaptation/jev/torch_fl/ascend910c/20261021-tp1/work/rm_hf_infer_demo_v1_20261015_with_ckpt/qwen35_2b_l2_triple_value_checkpoint-3000,dst=/models/qwen35_2b_l2_triple_value_checkpoint-3000,readonly,bind-propagation=rprivate \
  -v /data/adaptation/jev/torch_fl/ascend910c/20261021-tp1/image-release20261027/digest-validation/logs:/var/log/jev:rprivate \
  -v /data/adaptation/jev/torch_fl/ascend910c/20261021-tp1/image-release20261027/digest-validation/cache:/var/cache/jev:rprivate \
  -v /data/adaptation/jev/torch_fl/ascend910c/20261021-tp1/image-release20261027/digest-validation/tmp:/tmp:rprivate \
  -v /data/adaptation/jev/torch_fl/ascend910c/20261021-tp1/image-release20261027/digest-validation/vendor-logs:/root/ascend/log:rprivate \
  --entrypoint /bin/bash \
  harbor.baai.ac.cn/flagrelease-public/jev-value-ascend001-gems0.0.0-tree0.7.0-cxnone-pluginnone-vllmnone-sglangnone-sglangflnone-cp311-ptnpunone-cann90-a64-none:202610271104 \
  -lc 'sleep infinity'
```
### Start the Server
```bash
export PATH=/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_1/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit/latest/compiler/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest/tools/ccec_compiler/bin:/usr/local/Ascend/cann-9.0.0/tools/show_kernel_debug_data:/usr/local/Ascend/cann-9.0.0/tools/msobjdump:/usr/local/Ascend/cann-9.0.0/bin:/usr/local/Ascend/cann-9.0.0/tools/ccec_compiler/bin:/usr/local/Ascend/cann-9.0.0/tools/profiler/bin:/usr/local/Ascend/cann-9.0.0/tools/ascend_system_advisor/asys:/usr/local/python3.11.15/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export ASCEND_RT_VISIBLE_DEVICES=0
export TORCH_DEVICE_BACKEND_AUTOLOAD=0
export LD_LIBRARY_PATH=/usr/local/Ascend/cann-9.0.0/lib64:/usr/local/Ascend/cann-9.0.0/lib64/plugin/opskernel:/usr/local/Ascend/cann-9.0.0/lib64/plugin/nnengine:/usr/local/Ascend/cann-9.0.0/opp/built-in/op_impl/ai_core/tbe/op_tiling:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_1/lib:/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_1/examples:/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_1/tests/atbopstest:/usr/local/Ascend/ascend-toolkit/latest/tools/aml/lib64:/usr/local/Ascend/ascend-toolkit/latest/tools/aml/lib64/plugin:/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/opskernel:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling:/usr/local/python3.11.15/lib:
export ASCEND_TOOLKIT_HOME=/usr/local/Ascend/cann-9.0.0
export ASCEND_TOOLKIT_LATEST_HOME=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_AICPU_PATH=/usr/local/Ascend/cann-9.0.0
export ASCEND_OPP_PATH=/usr/local/Ascend/cann-9.0.0/opp
export ASCEND_HOME_PATH=/usr/local/Ascend/cann-9.0.0
export ATB_HOME_PATH=/usr/local/Ascend/nnal/atb/latest/atb/cxx_abi_1
export ATB_STREAM_SYNC_EVERY_KERNEL_ENABLE=0
export ATB_STREAM_SYNC_EVERY_RUNNER_ENABLE=0
export ATB_STREAM_SYNC_EVERY_OPERATION_ENABLE=0
export ATB_OPSRUNNER_KERNEL_CACHE_LOCAL_COUNT=1
export ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT=5
export ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE=1
export ATB_COMPARE_TILING_EVERY_KERNEL=0
export ATB_SHARE_MEMORY_NAME_SUFFIX=''
export ATB_MATMUL_SHUFFLE_K_ENABLE=1
export OMP_NUM_THREADS=8
export TOOLCHAIN_HOME=/usr/local/Ascend/cann-9.0.0/toolkit
export CMAKE_PREFIX_PATH=/usr/local/Ascend/cann-9.0.0/toolkit/tools/tikicpulib/lib/cmake:/usr/local/Ascend/cann-9.0.0/lib64/cmake
export LCCL_DETERMINISTIC=0
export LCCL_PARALLEL=0
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8
export FLAGOS_LOG=''
export FLAGOS_OP_mm=ascend
export FLAGOS_OP_addmm=ascend
export FLAGOS_OP_bmm=ascend
export FLAGOS_OP_zero_=ascend
export FLAGOS_FORCE_BACKEND=vendor
export HF_HUB_OFFLINE=1
export TRITON_CACHE_DIR=/var/cache/jev/triton
export TORCH_EXTENSIONS_DIR=/var/cache/jev/torch_extensions
export XDG_CACHE_HOME=/var/cache/jev/xdg
export HF_HOME=/var/cache/jev/huggingface
export HOME=/var/cache/jev/home
export TZ=CST-8
mkdir -p /var/log/jev /var/cache/jev/home
/usr/local/python3.11.15/bin/python -u -m serve_value_selected --host 0.0.0.0 --port 18510 --max-token-len 12000 > /var/log/jev/server.log 2>&1 &
service_pid=$!
/usr/local/python3.11.15/bin/python - <<'READY'
import json,time,urllib.request
opener=urllib.request.build_opener(urllib.request.ProxyHandler({}))
started=time.monotonic()
while time.monotonic()-started<1800:
    try:
        with opener.open('http://127.0.0.1:18510/health',timeout=5) as r:
            info=json.load(r)
        assert info['status']=='ready' and info['model']=='jev-value'
        assert info['tp']==1 and info['dtype']=='bfloat16' and info['attention']=='sdpa'
        print('READY',json.dumps(info,ensure_ascii=False));break
    except Exception:
        time.sleep(2)
else:
    raise SystemExit('Service not ready within 1800s; inspect /var/log/jev/server.log; no automatic restart')
READY
```

## Service Invocation
### Invocation Script
```bash
curl \
  --noproxy '*' \
  --fail-with-body \
  --silent \
  --show-error \
  --connect-timeout 10 \
  --max-time 300 \
  http://127.0.0.1:18510/score \
  -H 'Content-Type: application/json' \
  --data-binary '{"model": "jev-value", "ocr_text": "这是改革攻坚破难、纵深推进的5年—", "orig_image": "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", "render_image": "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"}'
```


### AnythingLLM Integration Guide

#### 1. Download & Install

- Visit the official site: https://anythingllm.com/
- Choose the appropriate version for your OS (Windows/macOS/Linux)
- Follow the installation wizard to complete the setup

#### 2. Configuration

- Launch AnythingLLM
- Open settings (bottom left, fourth tab)
- Configure core LLM parameters
- Click "Save Settings" to apply changes

#### 3. Model Interaction

- After model loading is complete:
- Click **"New Conversation"**
- Enter your question (e.g., "Explain the basics of quantum computing")
- Click the send button to get a response
# Technical Overview
**FlagOS** is a fully open-source system software stack designed to unify the "model–system–chip" layers and foster an open, collaborative ecosystem. It enables a "develop once, run anywhere" workflow across diverse AI accelerators, unlocking hardware performance, eliminating fragmentation among vendor-specific software stacks, and substantially lowering the cost of porting and maintaining AI workloads. With core technologies such as the **FlagScale**, together with vllm-plugin-fl, distributed training/inference framework, **FlagGems** universal operator library, **FlagCX** communication library, and **FlagTree** unified compiler, the **FlagRelease** platform leverages the **FlagOS** stack to automatically produce and release various combinations of <chip + open-source model>. This enables efficient and automated model migration across diverse chips, opening a new chapter for large model deployment and application.
## FlagGems
FlagGems is a high-performance, generic operator libraryimplemented in [Triton](https://github.com/openai/triton) language. It is built on a collection of backend-neutralkernels that aims to accelerate LLM (Large-Language Models) training and inference across diverse hardware platforms.
## FlagTree
FlagTree is an open source, unified compiler for multipleAI chips project dedicated to developing a diverse ecosystem of AI chip compilers and related tooling platforms, thereby fostering and strengthening the upstream and downstream Triton ecosystem. Currently in its initial phase, the project aims to maintain compatibility with existing adaptation solutions while unifying the codebase to rapidly implement single-repository multi-backend support. Forupstream model users, it provides unified compilation capabilities across multiple backends; for downstream chip manufacturers, it offers examples of Triton ecosystem integration.
## FlagScale and vllm-plugin-fl
Flagscale is a comprehensive toolkit designed to supportthe entire lifecycle of large models. It builds on the strengths of several prominent open-source projects, including [Megatron-LM](https://github.com/NVIDIA/Megatron-LM) and [vLLM](https://github.com/vllm-project/vllm), to provide a robust, end-to-end solution for managing and scaling large models.
vllm-plugin-fl is a vLLM plugin built on the FlagOS unified multi-chip backend, to help flagscale support multi-chip on vllm framework.
## **FlagCX**
FlagCX is a scalable and adaptive cross-chip communication library. It serves as a platform where developers, researchers, and AI engineers can collaborate on various projects, contribute to the development of cutting-edge AI solutions, and share their work with the global community.

## **FlagEval Evaluation Framework**
 FlagEval is a comprehensive evaluation system and open platform for large models launched in 2023. It aims to establish scientific, fair, and open benchmarks, methodologies, and tools to help researchers assess model and training algorithm performance. It features:
 - **Multi-dimensional Evaluation**: Supports 800+ modelevaluations across NLP, CV, Audio, and Multimodal fields,covering 20+ downstream tasks including language understanding and image-text generation.
 - **Industry-Grade Use Cases**: Has completed horizonta1 evaluations of mainstream large models, providing authoritative benchmarks for chip-model performance validation.

# Contributing

We warmly welcome global developers to join us:

1. Submit Issues to report problems
2. Create Pull Requests to contribute code
3. Improve technical documentation
4. Expand hardware adaptation support
# License
The model weights are derived from OpenBMB/MiniCPM-OCR-Jev and are open‑sourced under the Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0.txt
