---
license: apache-2.0
base_model: openbmb/MiniCPM5-1B
tags:
- gguf
- llama.cpp
- llama-cpp
- ollama
- lm-studio
- minicpm
- minicpm5
- minicpm5-1b
- tool-calling
- function-calling
- tool-use
- agentic
- agentic-ai
- ai-agent
- xml-tool-calling
- json-function-calling
- quantized
- quantization
- q4_k_m
- q8_0
- f16
- gguf-my-repo
- small-language-model
- slm
- edge-ai
- on-device
- local-llm
- offline-ai
- privacy
- openbmb
language:
- en
pipeline_tag: text-generation
---
# MiniCPM5-1B-Agentic-Tooluse-v3-GGUF
**GGUF quantizations of a 1B-parameter agentic tool-calling / function-calling model**, ready to run locally with [llama.cpp](https://github.com/ggerganov/llama.cpp), [Ollama](https://ollama.com/), [LM Studio](https://lmstudio.ai/), koboldcpp, text-generation-webui, or any other GGUF-compatible runtime — fully offline, private, and CPU-friendly.
Searching for a **local function-calling model**, a **small LLM you can run on CPU or a phone**, a **GGUF model for AI agents**, or a **fast, private alternative to cloud-hosted function calling**? This is built specifically for that.
## Why this model
MiniCPM5-1B-Agentic-Tooluse-v3 is a compact **1B-parameter** model fine-tuned specifically for agentic tool/function calling: it parses a tool schema plus a user request and reliably emits a structured, correctly-named, correctly-valued function call — the core capability behind LangChain agents, MCP servers, ReAct loops, home-automation assistants, and any app that needs an LLM to reliably drive external APIs and tools.
Unlike most small open tool-calling models, this one went through a **two-stage pipeline**: QLoRA supervised fine-tuning followed by **GRPO reinforcement learning**, specifically rewarding exact function-name and exact argument-value correctness.
## Results
Evaluated on a held-out 300-example test slice drawn from a **seeded shuffle** of ToolACE (see *Split integrity*).
The base-model column is the same model with the same prompt and no adapter.
The **published weights are SFT + GRPO** (see *GRPO / RLVR*). The SFT column is kept because every
negative result below is measured against it.
| metric | v2 (previous release) | SFT retrain (pre-GRPO) | **v3 = SFT + GRPO (published)** |
|---|---|---|---|
| `parseable` — output is a well-formed call | 0.9933 | 1.0000 | **1.0000** |
| `valid_name` — name exists among the offered tools | 0.9700 | 0.9867 | **0.9867** |
| `expected_name` — name matches gold | 0.9067 | 0.9567 | **0.9533** |
| `args_exact` — *every* argument value matches gold | 0.6133 | 0.7367 | **0.7467** |
| `arg_key_overlap` — F1 over argument keys | 0.8757 | 0.9422 | **0.9388** |
| **mean of 5** | 0.8718 | 0.9245 | **0.9251** |
Column meanings, to avoid the ambiguity the word "baseline" invites:
**v2 (previous release)** = the previously published SFT adapter. An earlier draft of this card
mislabeled this column "base model (untrained)" -- that was wrong; it is NOT the raw base model.
The real untrained `openbmb/MiniCPM5-1B`, measured on this same test slice, scores `parseable`
0.9333, `valid_name` 0.9133, `expected_name` 0.8867, `args_exact` 0.6300, `arg_key_overlap` 0.8920.
**SFT retrain** = a fresh SFT pass from v2, prior to GRPO. **v3** = what this repo currently serves.
Every "did it improve?" decision in this card is judged against **v2**, not against the untrained
base model — beating an untrained model is not evidence of anything.
GRPO buys +0.0100 on `args_exact`, the metric that matters here, and gives back 0.0034 (one test example
each) on `expected_name` and `arg_key_overlap`. That trade is reported rather than hidden: the mean moves
only +0.0006, so this is a targeted gain on the hardest metric, not a broad improvement.
## Full 8-metric benchmark (held-out test set, n=300)
This table mirrors the evaluation format from v2 and shows Base, v2, and v3 side-by-side
across all 8 metrics using a single consistent harness and held-out test slice:
| Metric | Base MiniCPM5-1B | v2 (previous release) | v3 (this model) | Delta (v2 → v3) |
|---|---:|---:|---:|---:|
| parseable_rate | 0.0133 | 0.9933 | 1.0000 | +0.0067 |
| valid_name_rate | 0.0133 | 0.9700 | 0.9867 | +0.0167 |
| expected_name_rate | 0.0133 | 0.9267 | 0.9533 | +0.0267 |
| args_exact_rate | 0.1500 | 0.6533 | 0.7467 | +0.0934 |
| arg_key_overlap | 0.0033 | 0.7517 | 0.9388 | +0.1871 |
| no_schema_copy_rate | 1.0000 | 1.0000 | 0.9967 | -0.0033 |
| no_repetition_rate | 0.9967 | 1.0000 | 0.3400 | -0.6600 |
| stopped_cleanly_rate | 0.0000 | 0.1500 | 0.0000 | -0.1500 |
**What the additional metrics mean:**
- `no_schema_copy_rate` — the model did **not** copy the tool schema's own field description
verbatim into an argument value.
- `no_repetition_rate` — the completion did not contain a duplicated function-call block or
degenerate repeated-phrase loop. This model has a known weakness here: it often continues
generating filler content after the tool call completes. Use a parser that extracts the first
completed `...` block.
- `stopped_cleanly_rate` — the model naturally stopped immediately after the completed
`` tag with no trailing tokens. Use a parser that treats the first completed
`...` block as the action boundary — do not rely on natural end-of-generation.
## Available quantizations
| File | Quant | Size | Best for |
|------|-------|------|----------|
| `MiniCPM5-1B-Agentic-Tooluse-v3.F16.gguf` | F16 | ~2.02 GB | Maximum quality, GPU or high-RAM CPU inference |
| `MiniCPM5-1B-Agentic-Tooluse-v3.Q8_0.gguf` | Q8_0 | ~1.07 GB | Near-lossless quality, recommended default for most users |
| `MiniCPM5-1B-Agentic-Tooluse-v3.Q4_K_M.gguf` | Q4_K_M | ~656 MB | Smallest, fastest — best for edge devices, phones, and CPU-only/low-RAM machines |
## Quickstart
**llama.cpp:**
```bash
./llama-cli -m MiniCPM5-1B-Agentic-Tooluse-v3.Q8_0.gguf -p "Your prompt with tool schema here"
```
**llama-server (OpenAI-compatible API, works with most agent frameworks):**
```bash
./llama-server -m MiniCPM5-1B-Agentic-Tooluse-v3.Q4_K_M.gguf --port 8080
```
**Ollama:**
```bash
# Create a Modelfile:
# FROM ./MiniCPM5-1B-Agentic-Tooluse-v3.Q8_0.gguf
ollama create minicpm5-tooluse-v3 -f Modelfile
ollama run minicpm5-tooluse-v3
```
**LM Studio:** just download one of the `.gguf` files above directly through the LM Studio search/download UI.
## Ideal use cases
- Fully local / offline / private AI agents (no data leaves your machine)
- Home automation and smart-home voice assistants
- Mobile, browser-extension, and embedded/IoT tool-calling agents
- Cost-sensitive, high-volume backend services that can't afford large-model API costs per call
- Drop-in function-calling backbone for LangChain, LlamaIndex, AutoGen, CrewAI, and MCP-based agent stacks
- Hobbyist and researcher experimentation with small-model agentic reasoning
## FAQ
**Which quant should I use?** Q8_0 for the best quality-to-size tradeoff on most machines; Q4_K_M if you need the smallest possible footprint or are running on a phone/Raspberry Pi-class device; F16 if you have plenty of RAM/VRAM and want maximum fidelity.
**Do I need a GPU?** No — that's the point of this model. All three quantizations run well on CPU; a GPU just makes it faster.
**How was this trained?** QLoRA supervised fine-tuning on tool-calling trajectories, followed by GRPO (Group Relative Policy Optimization) reinforcement-learning refinement targeting exact argument correctness.
## Related repos
### v3 model family (this release)
| Format | Repository |
|--------|-----------|
| LoRA adapter (PEFT, smallest download, fine-tune further) | [MiniCPM5-1B-Agentic-Tooluse-QLoRA-v3](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-QLoRA-v3) |
| Merged full-weight FP16 (transformers / vLLM / SGLang serving) | [MiniCPM5-1B-Agentic-Tooluse-v3-Merged-FP16](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-Merged-FP16) |
| GGUF quantizations (llama.cpp / Ollama / LM Studio, CPU-friendly) | [MiniCPM5-1B-Agentic-Tooluse-v3-GGUF](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF) |
### Previous releases
| Format | Repository |
|--------|-----------|
| v2 LoRA adapter | [MiniCPM5-1B-Agentic-Tooluse-QLoRA-v2](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-QLoRA-v2) |
| v2 Merged FP16 | [MiniCPM5-1B-Agentic-Tooluse-Merged-FP16](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-Merged-FP16) |
| v2 GGUF | [MiniCPM5-1B-Agentic-Tooluse-GGUF](https://huggingface.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-GGUF) |
## Base model
Built on [MiniCPM5-1B](https://huggingface.co/openbmb/MiniCPM5-1B) by OpenBMB, fine-tuned for agentic tool/function calling and refined with GRPO reinforcement learning.