Instructions to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16") model = AutoModelForCausalLM.from_pretrained("ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16") messages = [ {"role": "user", "content": "Who are you?"}, ] 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16
- SGLang
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 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 "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 with Docker Model Runner:
docker model run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16
MiniCPM5-1B Agentic Tooluse Merged FP16
Standalone merged FP16 checkpoint of
openbmb/MiniCPM5-1B
and the latest
MiniCPM5-1B-Agentic-Tooluse-QLoRA-v2
adapter after the July 2026 Nemotron SFT+DPO repair.
This repository contains the complete model. It is not an adapter and does not require PEFT at inference time.
Repositories
| Format | Repository |
|---|---|
| Merged FP16 Transformers model | This repository |
| LoRA/PEFT adapter | MiniCPM5-1B-Agentic-Tooluse-QLoRA-v2 |
| F16, Q8_0 and Q4_K_M GGUF | MiniCPM5-1B-Agentic-Tooluse-GGUF |
Current Files
The current model weights are one indexed checkpoint:
model-00001-of-00002.safetensorsmodel-00002-of-00002.safetensorsmodel.safetensors.index.json
The repository also includes the matching tokenizer, chat_template.jinja, model configuration, generation configuration and external evaluation artifacts. The previous single-file model remains recoverable from Hub history but is not part of the current branch.
Tool-Calling Behavior
MiniCPM5-1B natively emits XML-style calls:
<function name="tool_name"><param name="parameter">value</param></function>
The fine-tuning specializes first-call tool selection, function-name accuracy, argument selection, schema-copy avoidance and repeated-call suppression.
An application remains responsible for parsing and validating calls, executing tools externally, and returning tool results in a new turn.
Recommended Tool-Calling Deployment
OpenBMB recommends SGLang with its built-in MiniCPM5 parser:
pip install "sglang[srt]>=0.5.12"
python -m sglang.launch_server \
--model-path ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 \
--port 30000 \
--tool-call-parser minicpm5
The parser converts a completed <function ...>...</function> block into an OpenAI-compatible tool_calls response.
Transformers
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.float16,
device_map="auto",
)
model.eval()
Use tokenizer.apply_chat_template(...) and the repository's matching chat template. For deterministic tool selection, override the sampling defaults:
outputs = model.generate(
**inputs,
do_sample=False,
max_new_tokens=128,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
)
Remove token_type_ids from inputs if the installed Transformers/tokenizer combination returns them, because this Llama model does not consume that argument.
vLLM
The merged safetensors checkpoint is the preferred format for vLLM:
vllm serve ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16
Parser availability depends on the installed vLLM release. Use SGLang's official minicpm5 parser path when OpenAI-compatible tool-call extraction is required and the vLLM build does not provide an equivalent parser.
External Evaluation
The final adapter and this merged checkpoint have identical weights for evaluation purposes. Evaluation used 300 examples derived from the external
Team-ACE/ToolACE
dataset, deterministic decoding, and the same cases for both models. This is not an official ToolACE or BFCL leaderboard submission.
| Metric | Base MiniCPM5-1B | Repaired model | Delta |
|---|---|---|---|
| Parseable tool call | 0.0133 | 0.9933 | +0.9800 |
| Valid available-tool name | 0.0133 | 0.9700 | +0.9567 |
| Expected tool name | 0.0133 | 0.9267 | +0.9133 |
| Exact arguments | 0.1500 | 0.6533 | +0.5033 |
| Argument-key overlap | 0.0033 | 0.7517 | +0.7484 |
| No schema copying | 1.0000 | 1.0000 | +0.0000 |
| No repetition | 0.9967 | 1.0000 | +0.0033 |
| Natural clean termination | 0.0000 | 0.1500 | +0.1500 |
The full rows and metrics are published in:
external_toolace_base_vs_nemotron_dpo_eval.jsonEVAL_RESULTS.md
Understanding the 15% Termination Metric
stopped_cleanly_rate=0.15 is a strict natural-termination metric. It measures whether the model naturally ended immediately after a completed function call without runtime intervention.
It does not mean that only 15% of cases produced usable calls. In the same evaluation, 99.33% were parseable, 97% used an available tool name, and 92.67% selected the expected tool.
MiniCPM5's deployment contract uses a parser to extract the completed XML function block. Production should treat the first completed </function> as the action boundary and prevent generated synthetic tool responses or later dialogue from being interpreted as additional actions.
Training Lineage
The current adapter was produced by:
- Earlier xLAM/Glaive SFT and preference-repair stages.
- Targeted Nemotron SFT continuation from the previous DPO adapter.
- DPO preference optimization over valid versus corrupted tool calls.
- Merge into
openbmb/MiniCPM5-1B.
Nemotron sources used in the repair:
nvidia/Nemotron-SFT-Agentic-v2nvidia/Nemotron-RL-Agentic-Function-Calling-Pivot-v1nvidia/Nemotron-RL-Agentic-Conversational-Tool-Use-Pivot-v1
The data pipeline inspected physical dataset files, skipped one malformed JSONL row in the SFT tool-calling file, removed oversized policy text where needed, preserved tool schemas and recent context, and rejected unknown arguments, schema-copy placeholders and invalid expected tools.
Measured Improvements and Scope
This merged checkpoint contains the same repaired adapter behavior and improved every reported task-quality metric over base MiniCPM5-1B:
- Parseable calls: 1.33% -> 99.33%
- Valid available-tool names: 1.33% -> 97.00%
- Expected-tool selection: 1.33% -> 92.67%
- Exact arguments: 15.00% -> 65.33%
- Argument-key overlap: 0.33% -> 75.17%
- No repetition: 99.67% -> 100.00%
- Natural clean termination: 0.00% -> 15.00%
The remaining gap to 100% is residual error after a large improvement, not evidence that merging or fine-tuning degraded the base model.
Deployment Notes
- Schema validation, permission checks and confirmation for sensitive actions are standard requirements for every tool-calling model.
- Exact-argument accuracy improved by 50.33 percentage points; applications should still validate generated values before execution.
- Valid-name accuracy improved by 95.67 percentage points; rare near misses can remain on unseen tool libraries.
- Natural termination improved from 0% to 15%. MiniCPM5's parser-based serving contract extracts the completed call, so this metric is separate from the 99.33% parseable-call rate.
- The external evaluation is custom rather than an official ToolACE/BFCL leaderboard submission.
- GGUF quantizations may differ slightly from FP16 and are published separately.
- Downloads last month
- 898
Model tree for ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16
Evaluation results
- Parseable tool-call rate on External ToolACE-derived first-call evaluationself-reported0.993
- Available-tool name rate on External ToolACE-derived first-call evaluationself-reported0.970
- Expected tool-name rate on External ToolACE-derived first-call evaluationself-reported0.927
- Exact-arguments rate on External ToolACE-derived first-call evaluationself-reported0.653