Text Generation
GGUF
English
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
Eval Results (legacy)
conversational
Instructions to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
Use Docker
docker model run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF 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-v3-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": "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
- Ollama
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with Ollama:
ollama run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
- Unsloth Studio
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF to start chatting
- Pi
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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 "ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-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"
- Docker Model Runner
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with Docker Model Runner:
docker model run hf.co/ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
- Lemonade
How to use ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ewinregirgojr/MiniCPM5-1B-Agentic-Tooluse-v3-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.MiniCPM5-1B-Agentic-Tooluse-v3-GGUF-Q4_K_M
List all available models
lemonade list
Add model-index eval YAML, arch spec, thinking docs, limitations, citation, ModelScope; remove column meanings note
b8ed16e verified | 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 | |
| datasets: | |
| - Team-ACE/ToolACE | |
| model-index: | |
| - name: MiniCPM5-1B-Agentic-Tooluse-v3 | |
| results: | |
| - task: | |
| type: text-generation | |
| name: Tool calling | |
| dataset: | |
| name: External ToolACE-derived first-call evaluation (held-out 300 examples) | |
| type: Team-ACE/ToolACE | |
| metrics: | |
| - type: parseable_rate | |
| value: 1.0000 | |
| name: Parseable tool-call rate | |
| - type: valid_name_rate | |
| value: 0.9867 | |
| name: Valid available-tool name rate | |
| - type: expected_name_rate | |
| value: 0.9533 | |
| name: Expected tool-name rate | |
| - type: args_exact_rate | |
| value: 0.7467 | |
| name: Exact-arguments rate | |
| - type: arg_key_overlap | |
| value: 0.9388 | |
| name: Argument-key overlap | |
| - type: no_schema_copy_rate | |
| value: 0.9967 | |
| name: No-schema-copy rate | |
| - type: no_repetition_rate | |
| value: 0.3400 | |
| name: No-repetition rate | |
| - type: stopped_cleanly_rate | |
| value: 0.0000 | |
| name: Stopped-cleanly rate | |
| # MiniCPM5-1B-Agentic-Tooluse-v3-GGUF — Local Function-Calling LLM (llama.cpp / Ollama / LM Studio) | |
| **MiniCPM5-1B-Agentic-Tooluse-v3** is a **1-billion-parameter open-weight function-calling model** you can run entirely offline on a CPU — no GPU, no cloud API, no data leaving your machine. It is quantized to GGUF format and works out of the box with [llama.cpp](https://github.com/ggerganov/llama.cpp), [Ollama](https://ollama.com/), [LM Studio](https://lmstudio.ai/), koboldcpp, and text-generation-webui. | |
| If you are looking for a **local LLM for tool calling**, a **small function-calling model for Raspberry Pi or a laptop**, a **private offline AI agent backbone**, or a **free alternative to GPT-4o / Claude function calling** that runs on your own hardware, this is it. | |
| > **74.67% exact-argument accuracy** on a held-out 300-example benchmark — trained with QLoRA supervised fine-tuning followed by GRPO reinforcement learning, rewarding exact function-name and argument-value correctness. No GPU required at Q4_K_M. | |
| ## Why this model | |
| MiniCPM5-1B-Agentic-Tooluse-v3 is fine-tuned specifically to parse a tool schema and a natural-language user request, then emit a structured, correctly-named, correctly-valued function call — the exact skill that powers LangChain agents, LlamaIndex pipelines, AutoGen, CrewAI, MCP tool servers, ReAct loops, and home-automation assistants. | |
| Unlike most small open tool-calling models that stop at supervised fine-tuning, this model goes further with **GRPO reinforcement learning** on top of the SFT checkpoint, specifically rewarding the two hardest parts of tool calling: choosing the right function name and getting every argument value exactly right. | |
| **Compared to GPT-4o / Claude for function calling:** this model is 100% free, runs locally, keeps all data private, has zero per-call cost, and is fine-tunable — it trades some absolute accuracy for massive gains in cost, latency, and privacy. | |
| ## 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** | | |
| 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 `<function>...</function>` block. | |
| - `stopped_cleanly_rate` — the model naturally stopped immediately after the completed | |
| `</function>` tag with no trailing tokens. Use a parser that treats the first completed | |
| `<function>...</function>` 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. | |
| ## Base model architecture | |
| MiniCPM5-1B uses a standard `LlamaForCausalLM` architecture: | |
| | Property | Value | | |
| |---|---| | |
| | Parameters (total) | 1,080,632,832 | | |
| | Parameters (non-embedding) | 679,552,512 | | |
| | Architecture | `LlamaForCausalLM` | | |
| | Layers | 24 | | |
| | Attention heads (GQA) | 16 Q / 2 KV | | |
| | Context length | 131,072 tokens | | |
| | Training | SFT → RL (GRPO) fine-tune on [openbmb/MiniCPM5-1B](https://huggingface.co/openbmb/MiniCPM5-1B) | | |
| ## Thinking mode | |
| MiniCPM5-1B has a built-in `<think>...</think>` chat template. The same checkpoint can act as a fast assistant **or** a deliberate chain-of-thought reasoner — controlled by a single flag: | |
| ```python | |
| # Fast mode — recommended for tool calling (thinking OFF) | |
| prompt = tokenizer.apply_chat_template( | |
| messages, tools=tools, add_generation_prompt=True, | |
| enable_thinking=False, | |
| tokenize=False, | |
| ) | |
| # Reasoning mode (thinking ON — NOT recommended for tool calling) | |
| prompt = tokenizer.apply_chat_template( | |
| messages, tools=tools, add_generation_prompt=True, | |
| enable_thinking=True, | |
| tokenize=False, | |
| ) | |
| ``` | |
| > **Important:** always use `enable_thinking=False` for tool/function calling. With thinking ON the model spends its token budget inside `<think>...</think>` and may not reach a completed function call. All benchmark numbers in this card use thinking OFF. | |
| ## Citation | |
| If you use this model, please cite the base model paper: | |
| ```bibtex | |
| @article{minicpm4, | |
| title = {MiniCPM4: Ultra-Efficient LLMs on End Devices}, | |
| author = {MiniCPM Team}, | |
| journal = {arXiv preprint arXiv:2506.07900}, | |
| year = {2025} | |
| } | |
| ``` | |
| And the ToolACE dataset used for fine-tuning: | |
| ```bibtex | |
| @article{toolace, | |
| title = {ToolACE: Winning the Points of LLM Function Calling}, | |
| author = {Liu, Ying and others}, | |
| journal = {arXiv preprint arXiv:2409.00920}, | |
| year = {2024} | |
| } | |
| ``` | |
| ## ModelScope | |
| The base model is also available on ModelScope (for users in China and East Asia): | |
| - [OpenBMB/MiniCPM5-1B on ModelScope](https://www.modelscope.cn/models/OpenBMB/MiniCPM5-1B) | |
| *(The fine-tuned adapter/GGUF builds are currently HuggingFace-only.)* | |
| ## 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. | |
| ## Limitations | |