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
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 β 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, Ollama, LM Studio, 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 |
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<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:
./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):
./llama-server -m MiniCPM5-1B-Agentic-Tooluse-v3.Q4_K_M.gguf --port 8080
Ollama:
# 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 |
| Merged full-weight FP16 (transformers / vLLM / SGLang serving) | MiniCPM5-1B-Agentic-Tooluse-v3-Merged-FP16 |
| GGUF quantizations (llama.cpp / Ollama / LM Studio, CPU-friendly) | MiniCPM5-1B-Agentic-Tooluse-v3-GGUF |
Previous releases
| Format | Repository |
|---|---|
| v2 LoRA adapter | MiniCPM5-1B-Agentic-Tooluse-QLoRA-v2 |
| v2 Merged FP16 | MiniCPM5-1B-Agentic-Tooluse-Merged-FP16 |
| v2 GGUF | MiniCPM5-1B-Agentic-Tooluse-GGUF |
Base model
Built on MiniCPM5-1B by OpenBMB, fine-tuned for agentic tool/function calling and refined with GRPO reinforcement learning.