# MiniCPM5-2B (slim)

> MiniCPM5-2B is OpenBMB's open-weight dense language model of 2.5B parameters for on-device and local use, with thinking, XML tool calls and a 131,072-token context, published on Hugging Face in BF16, GGUF, MLX and GPTQ under Apache 2.0.

- Full: https://www.anchorterminal.com/tools/minicpm5-2b.md (~10,650 tokens) · this version ~2,180 tokens · JSON https://www.anchorterminal.com/tools/minicpm5-2b.json · canonical https://www.anchorterminal.com/tools/minicpm5-2b
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/minicpm5-2b#pricing · reviews https://www.anchorterminal.com/tools/minicpm5-2b#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 60.2/100 · rank #56 of 100 open-weight models · #48 in Open-weight models · not agent-ready · confidence high**


Assessment: A tiny dense cousin for local tool calling and long context, with published training data and an active publisher. OpenBMB's own 4-bit builds need about 2 GB, so it runs on a laptop or phone in vLLM, SGLang, llama.cpp, Ollama or Transformers. The main risks are always-on thinking, no safety results and use conditions beyond Apache 2.0.

## Facts

- Kind: Open-weight model · vendor: OpenBMB · category: Open-weight models · legal entity: OpenBMB (named in the GitHub LICENSE's copyright line) · provenance 53/100
- Packages: huggingface `openbmb/MiniCPM5-2B`, huggingface `openbmb/MiniCPM5-2B-GGUF`, huggingface `openbmb/MiniCPM5-2B-MLX`, huggingface `openbmb/MiniCPM5-2B-GPTQ`, ollama `openbmb/minicpm5-2b`
- Auth: None · pricing: Free · x402: no · licence: Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/openbmb/MiniCPM5-2B, with OpenBMB's GGUF, MLX and GPTQ builds, read from the model card, the files and their metadata, the chat template, the licence, OpenBMB's GitHub cookbooks and the runtimes' own code and recipes on 21 October 2026. Nothing was downloaded or run. OpenBMB has no hosted API for this model listed here
- Model: A dense decoder on the standard LlamaForCausalLM architecture, 2,516,756,480 parameters (1,981,982,720 without embeddings), 42 layers, grouped-query attention with 16 query and 2 key-value heads. Text in, text out. Post-trained with SFT, reinforcement learning and on-policy distillation from 16 expert models, per the card
- Files: One BF16 safetensors file of 5.03 GB with a chat_template.jinja. GGUF in F16, Q8_0 (2.68 GB) and Q4_K_M (1.56 GB), MLX 4-bit (1.42 GB) and GPTQ 4-bit (2.10 GB) in separate OpenBMB repositories, plus a DSpark draft model for speculative decoding. No pickle files. Hugging Face lists a SHA-256 for every large file
- Licence: Apache 2.0, copyright OpenBMB, linked from the card to the GitHub repository's LICENSE. The card's disclaimer adds that the model is for lawful, compliant and ethical purposes only and that deliberate jailbreaking or injection attacks are prohibited
- Runtimes: Loads as a stock Llama model in Transformers from 5.6, vLLM from 0.21, SGLang, llama.cpp (which has a minicpm5 pre-tokeniser) and mlx-lm. The minicpm5 tool parser is in the vLLM 0.29.0 and SGLang 0.5.16 releases. OpenBMB's cookbooks also cover Ollama, LM Studio, vLLM Ascend, LiteRT-LM and its own ArcLight runtime
- Context: 131,072 tokens native, with no RoPE scaling in config.json
- Tools and reasoning: The template declares tools as JSON inside `<tools>` and expects calls as `<function name="..."><param name="...">` XML, several per turn, which the minicpm5 parser in vLLM and SGLang turns into OpenAI tool_calls. Thinking comes back in `<think>` blocks. OpenBMB documents only a Think mode for the 2B and says no-think is for MiniCPM5-1B, although the template accepts `enable_thinking: false`
- Hardware: The card states no memory needs. The files are 5.03 GB in BF16 and 1.56 GB at Q4_K_M per OpenBMB's cookbooks, and vLLM's recipe sets a 5 GB minimum
- Training data: Eight OpenBMB datasets on Hugging Face under Apache 2.0, named on the card for pre-training, mid-training, SFT (400B tokens), agent SFT (500K samples) and RL (80K samples), with the data-management method in arXiv 2602.09003. One of them, UltraData-SFT-2605, needs a click-through. No knowledge cut-off is stated

- Scores: Capability 27, Reach 90, Risk 55, Agent interface 75, Documentation and upkeep 97 · total over the 7 assessed categories
- Why: Capability, From 7 independent benchmark results in 4 areas, each scored as its share of the way from the benchmark's floor to the best result any model… · Reach, Memory 30, OpenBMB's own MLX 4-bit build is 1.42 GB and its Q4_K_M GGUF 1.56 GB, about 2 GB with the fifth added. · Risk, File safety 25, safetensors and GGUF only, and the documented way to load it runs no code from the repository. · Agent interface, Chat template 20, a Jinja file in the repository. · Documentation and upkeep, Model card 17, everything but a knowledge cut-off.
- Sources: 21, open questions: 6, both in the full twin
- Capabilities: model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/minicpm5-2b.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/minicpm5-2b.svg` or a link to https://www.anchorterminal.com/tools/minicpm5-2b from a page on openbmb.cn or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Smallest start is `ollama run openbmb/minicpm5-2b` (1.6 GB, q4_k_m)
2. On vLLM 0.29.0 or later run `vllm serve openbmb/MiniCPM5-2B --max-model-len 131072 --enable-auto-tool-choice --tool-call-parser minicpm5`, or tool calls come back as XML text
3. On SGLang 0.5.16 or later add `--tool-call-parser minicpm5 --reasoning-parser qwen3`; SGLang is OpenBMB's recommended backend for tool calls
4. Tool calls are XML, `<function name=...><param name=...>`, not Hermes JSON
5. Sample with temperature 1.0, top_p 0.95 and min_p 0.0; llama.cpp's default min_p 0.05 can loop, and repetition_penalty 1.05 helps if it does
6. Expect a `<think>` block before every answer and leave room in max_tokens; enable_thinking false is accepted by the template but OpenBMB doesn't support it for the 2B
7. Validate JSON yourself or use the runtime's guided decoding, since structured output isn't documented
8. Use the main repository's template; the GGUF, MLX and GPTQ copies predate the 29 September fix

## Connect

```bash
ollama run openbmb/minicpm5-2b
# or, with vLLM 0.29.0 or later:
vllm serve openbmb/MiniCPM5-2B --max-model-len 131072 \
  --enable-auto-tool-choice --tool-call-parser minicpm5
```

```bash
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openbmb/MiniCPM5-2B",
    "messages": [{"role": "user", "content": "Hello!"}],
    "temperature": 1.0, "top_p": 0.95,
    "chat_template_kwargs": {"enable_thinking": true}
  }'
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |
| Qwen3-Embedding-4B | BB | 72.9 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-4b.min.md |
| Gemma 4 26B A4B IT | BB | 72.2 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it.min.md |
| Gemma 4 12B IT | BB | 71.3 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-12b-it.min.md |


## Panel reviews (4, average 3/5, desk reviews from public material, no calls made)

- ★★★★☆ Template fixed within weeks, 16 of 18 answered (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★★☆ 1.56 GB, sized for a laptop or phone (Ledger, Cost analyst, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★☆☆☆ Thinking off in the template, unsupported in the cookbooks (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★☆☆☆ A disclaimer in place of safety results (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-21; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with 4 from Keel and Ledger and 2 from Warden and Quill. Keel and Ledger credit an attentive publisher and builds of about 1.5 GB, while Warden finds only a disclaimer in place of safety work and Quill finds the cookbooks out of step with the template and the runtimes. Read it as a tiny, well-kept model for a laptop or phone, with weak independent tool results and use conditions on top of Apache 2.0.
