Output shape
Reasoning is emitted inside <think> tags, then the answer:
<think>设 s=x+y,p=xy。…验:23*17=391。答案对。</think>x + y = 2 or 5. Working: …
v1.5's training data ends every trace with a verification block — substituting the result back,
re-deriving the invariant, walking the stated edge cases — before the answer is committed.
Reasoning under an agent harness
v1.5 is the dataset version that adds long system prompts simulating agentic coding harnesses.
Earlier versions held Chinese reasoning under a short system prompt but drifted back to English
behind a real agent harness — a multi-thousand-token English preamble of tool descriptions, skill
listings and project context. 599 of the dataset's 1,424 rows carry such a preamble, so the
behaviour is trained in the context where it otherwise collapses.
Usage
import torchfrom transformers import AutoTokenizer, AutoModelForCausalLM model_id = "sriq-ai/sriq-MiniCPM5-2B-v1.5"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto") messages = [{"role": "user", "content": "What is 17 * 23? Answer briefly."}]inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt",).to(model.device) outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Do not pass enable_thinking=False
The chat template treats that flag as an instruction to skip reasoning, and prefills an empty
block:
{%- if enable_thinking is false %} {{- '<think>\n\n</think>\n\n' }}
The model then answers with no trace at all, silently — there is no error, and the behaviour this
model exists for is switched off. Leave the flag undefined, or set it to True.
Model details
Table | |
|---|
| Base model | openbmb/MiniCPM5-2B |
| Parameters | 2,516,756,480 |
| Architecture | LlamaForCausalLM |
| Weights | bfloat16, merged (not an adapter) |
| Context length | 131,072 |
| Training data | sriq-ai/sriq-sft-v1.5 — 1,424 conversations, 30 languages, all difficulty: hard |
| Method | Supervised fine-tuning with Unsloth |
Quantizations: sriq-MiniCPM5-2B-v1.5-GGUF.
Evaluation
No benchmark results are published for this model. Nothing here describes measured gains in
accuracy, verification rate, or answer quality — only what it was trained on and how it behaves.
Evaluate on your own workload before relying on it.
Limitations
- The reasoning is Chinese regardless of the question's language. If you show traces to users, they
will see Chinese.
- Compressed traces are harder to read than narrated ones. That is the trade being made.
- A 2B model is a 2B model: the verification step checks the working, it does not make the working
correct.
License
Apache-2.0, inherited from the base model.