Instructions to use openbmb/MiniCPM-OCR-1.0-gguf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use openbmb/MiniCPM-OCR-1.0-gguf with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M # Run inference directly in the terminal: llama cli -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M # Run inference directly in the terminal: llama cli -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Use Docker
docker model run hf.co/openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use openbmb/MiniCPM-OCR-1.0-gguf 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-gguf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openbmb/MiniCPM-OCR-1.0-gguf", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
- Ollama
How to use openbmb/MiniCPM-OCR-1.0-gguf with Ollama:
ollama run hf.co/openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
- Unsloth Desktop
- Pi
How to use openbmb/MiniCPM-OCR-1.0-gguf with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use openbmb/MiniCPM-OCR-1.0-gguf with Docker Model Runner:
docker model run hf.co/openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
- Lemonade
How to use openbmb/MiniCPM-OCR-1.0-gguf with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Run and chat with the model
lemonade run user.MiniCPM-OCR-1.0-gguf-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use openbmb/MiniCPM-OCR-1.0-gguf with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use openbmb/MiniCPM-OCR-1.0-gguf with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "openbmb/MiniCPM-OCR-1.0-gguf:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
This repository hosts the GGUF build of MiniCPM-OCR 1.0 for llama.cpp. For the original weights, the full model card, and benchmarks, see the base repository.
MiniCPM-OCR 1.0 (1.3B) parses documents into text, tables, formulas, charts, and seals, and supports key information extraction, for Chinese and English documents and PDFs.
Files
Every tier needs the vision projector as well — --model takes the LLM GGUF, --mmproj takes
the projector:
| File | Size | Notes |
|---|---|---|
mmproj-model-f16-4x.gguf |
0.901 GB | vision projector, 4× downsample — required |
MiniCPM-OCR-1_0-F16.gguf |
1.516 GB | reference, no quantization |
MiniCPM-OCR-1_0-Q8_0.gguf |
0.812 GB | near-lossless |
MiniCPM-OCR-1_0-Q6_K.gguf |
0.630 GB | good quality/size balance |
MiniCPM-OCR-1_0-Q5_K_M.gguf |
0.578 GB | smaller, still strong |
MiniCPM-OCR-1_0-Q5_K_S.gguf |
0.563 GB | |
MiniCPM-OCR-1_0-Q5_1.gguf |
0.595 GB | |
MiniCPM-OCR-1_0-Q5_0.gguf |
0.563 GB | |
MiniCPM-OCR-1_0-Q4_K_M.gguf |
0.529 GB | smallest recommended |
MiniCPM-OCR-1_0-Q4_K_S.gguf |
0.505 GB | |
MiniCPM-OCR-1_0-Q4_1.gguf |
0.532 GB | |
MiniCPM-OCR-1_0-Q4_0.gguf |
0.501 GB |
The projector is 4× only; there is no 16× variant for this model.
Which tier
| Tier | Table / dense text / XML |
|---|---|
| F16 | baseline |
| Q8_0 | lossless / ≈lossless — recommended balance |
| Q4_K_M | lossless on tables, small degradation on dense text; closing-tag slashes may drop in code-heavy documents |
Prefer Q8_0 for code- or XML-heavy pages.
Usage
llama-server \
--model ./MiniCPM-OCR-1_0-Q8_0.gguf \
--mmproj ./mmproj-model-f16-4x.gguf \
--host 0.0.0.0 --port 18499 \
--ctx-size 40960 \
--n-gpu-layers 999
--n-gpu-layers 999 offloads everything to GPU; use 0 for CPU-only.
llama-mtmd-cli \
-m ./MiniCPM-OCR-1_0-Q8_0.gguf \
--mmproj ./mmproj-model-f16-4x.gguf \
--image page.png -p "Text Recognition:" \
--jinja -ngl 99 -c 8192 --temp 0
Thinking is already disabled inside the embedded chat template — no extra flag is needed, and
enable_thinking cannot turn it back on. (If you convert the weights yourself instead of using
these files, start the server with --chat-template-kwargs '{"enable_thinking": false}'.)
Prompts
| Region | Prompt |
|---|---|
| Text block / paragraph / title / page | Text Recognition: |
| Table | Table Recognition: |
| Display formula | Formula Recognition: |
SDK with a llama.cpp backend
minicpmvocr parse --config sdk/minicpmvocr/configs/minicpmvocr.yaml \
--backend llamacpp --server-url http://127.0.0.1:18499 \
--model minicpm-ocr \
--set layout.device=cuda:0 \
--set pipeline.queue_mode=serial \
--set pipeline.max_workers=1 \
--input doc.pdf --output doc.md
llama-server handles one request at a time by default, so keep queue_mode=serial and
max_workers=1.
Performance
Single RTX 5090 (32 GB), F16 weights: model + projector load ≈2.3 s; one table crop
(1,312 prompt / 265 output tokens) ≈1.0 s; VRAM ≈26 GB at --ctx-size 40960.
CPU-only (48 threads): one table image end-to-end (layout + recognition + assembly) ≈21 s.
Build llama.cpp and further options: llama.cpp deployment guide.
Related checkpoints
| Format | Hugging Face | ModelScope |
|---|---|---|
| BF16 (original) | 🤗 | ModelScope |
| GGUF (llama.cpp) (this repo) | 🤗 | ModelScope |
| AWQ W4A16 | 🤗 | ModelScope |
| GPTQ W4A16 | 🤗 | ModelScope |
| DSpark draft (BF16) | 🤗 | ModelScope |
| DSpark draft (GGUF) | 🤗 | ModelScope |
Speculative decoding works in llama.cpp with the
DSpark draft GGUF via --spec-type draft-dspark.
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.
- Downloads last month
- 461
4-bit
5-bit
6-bit
8-bit
16-bit
Model tree for openbmb/MiniCPM-OCR-1.0-gguf
Base model
openbmb/MiniCPM-OCR-1.0