Image-Text-to-Text
Transformers
Safetensors
MiniCPM-OCR
English
Chinese
qwen3
dspark
speculative-decoding
draft-model
ocr
multimodal
text-generation-inference
Instructions to use openbmb/MiniCPM-OCR-1.0-DSpark with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use openbmb/MiniCPM-OCR-1.0-DSpark with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="openbmb/MiniCPM-OCR-1.0-DSpark")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("openbmb/MiniCPM-OCR-1.0-DSpark") model = AutoModel.from_pretrained("openbmb/MiniCPM-OCR-1.0-DSpark", device_map="auto") - MiniCPM-OCR
How to use openbmb/MiniCPM-OCR-1.0-DSpark with MiniCPM-OCR:
pip install "minicpm-ocr[all]" huggingface_hub # Deploy openbmb/MiniCPM-OCR-1.0-DSpark as a recognition service before running the Python example: # https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/vllm_deploy_en.md # vLLM: load the model above; use --port 8080, # --served-model-name minicpm-ocr and --max-model-len 40960. # Layout detection uses cuda:0; recognition runs on the deployed service.
from importlib.resources import files from pathlib import Path from minicpmvocr import load_config, pipelined_run from huggingface_hub import snapshot_download layout_model = snapshot_download("PaddlePaddle/PP-DocLayoutV3") cfg = load_config( str(files("minicpmvocr").joinpath("configs/minicpmvocr.yaml")), overrides={ "input": {"file_path": str(Path("demo.png").resolve())}, "engine": { "type": "vllm", "server_url": "http://127.0.0.1:8080", "model_name": "minicpm-ocr", "max_model_len": 40960, }, "layout": {"model_dir": layout_model, "device": "cuda:0"}, # Render PDFs in-process so this example also works without a main guard. "pipeline": {"overlap_layout": True, "render_workers": 1}, }, ) pipelined_run(cfg) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use openbmb/MiniCPM-OCR-1.0-DSpark with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "openbmb/MiniCPM-OCR-1.0-DSpark" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openbmb/MiniCPM-OCR-1.0-DSpark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/openbmb/MiniCPM-OCR-1.0-DSpark
- SGLang
How to use openbmb/MiniCPM-OCR-1.0-DSpark with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "openbmb/MiniCPM-OCR-1.0-DSpark" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openbmb/MiniCPM-OCR-1.0-DSpark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "openbmb/MiniCPM-OCR-1.0-DSpark" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openbmb/MiniCPM-OCR-1.0-DSpark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use openbmb/MiniCPM-OCR-1.0-DSpark with Docker Model Runner:
docker model run hf.co/openbmb/MiniCPM-OCR-1.0-DSpark
Add parsing pipeline section to model card
#2
by wunu - opened
Add a 'Parsing pipeline' section between Specification and Usage with vLLM: the two-stage parsing pipeline (PP-DocLayoutV3 layout detection in the SDK environment; region recognition over HTTP to a MiniCPM-OCR 1.0 inference service), where the DSpark draft head fits (loaded by the Stage 2 recognition service for speculative decoding), and a parsing_pipeline.svg diagram. Wording matches the corresponding section on the main model card.
wunu changed pull request status to merged