MiniCPM4: Ultra-Efficient LLMs on End Devices
Paper • 2506.07900 • Published • 101
How to use MC7ever/MiniCPM5-1B-Agent-mlx-q4 with MLX:
# Make sure mlx-lm is installed
# pip install --upgrade mlx-lm
# Generate text with mlx-lm
from mlx_lm import load, generate
model, tokenizer = load("MC7ever/MiniCPM5-1B-Agent-mlx-q4")
prompt = "Write a story about Einstein"
messages = [{"role": "user", "content": prompt}]
prompt = tokenizer.apply_chat_template(
messages, add_generation_prompt=True
)
text = generate(model, tokenizer, prompt=prompt, verbose=True)How to use MC7ever/MiniCPM5-1B-Agent-mlx-q4 with Pi:
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
# Install Pi:
npm install -g @mariozechner/pi-coding-agent
# Add to ~/.pi/agent/models.json:
{
"providers": {
"mlx-lm": {
"baseUrl": "http://localhost:8080/v1",
"api": "openai-completions",
"apiKey": "none",
"models": [
{
"id": "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
}
]
}
}
}# Start Pi in your project directory: pi
How to use MC7ever/MiniCPM5-1B-Agent-mlx-q4 with Hermes Agent:
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
# 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 MC7ever/MiniCPM5-1B-Agent-mlx-q4
hermes
How to use MC7ever/MiniCPM5-1B-Agent-mlx-q4 with OpenClaw:
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
# 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 "MC7ever/MiniCPM5-1B-Agent-mlx-q4" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
openclaw agent --local --agent main --message "Hello from Hugging Face"
How to use MC7ever/MiniCPM5-1B-Agent-mlx-q4 with MLX LM:
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
# Install MLX LM
uv tool install mlx-lm
# Start the server
mlx_lm.server --model "MC7ever/MiniCPM5-1B-Agent-mlx-q4"
# Calling the OpenAI-compatible server with curl
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "MC7ever/MiniCPM5-1B-Agent-mlx-q4",
"messages": [
{"role": "user", "content": "Hello"}
]
}'4-bit quantized MLX version of Luminia/MiniCPM5-1B-Agent-GGUF. Quantized with mlx_lm.convert using affine mode (group_size=64, 4.5 bits/weight). Runs well on Apple Silicon with ~600 MB memory.
MiniCPM5-1B-Agent is a tiny agentic coding agent for CPU: a full fine-tune of openbmb/MiniCPM5-1B specialized to reason in <think>, call a small tool set (bash/read/write/edit/glob/grep), and run → read output → debug → patch → verify.
LlamaForCausalLM — 24 layers, 16 attention heads (GQA), 1536 hidden, 130560 vocabfrom mlx_lm import load, generate
model, tokenizer = load("MC7ever/MiniCPM5-1B-Agent-mlx-q4")
messages = [
{"role": "user", "content": "Write a Python function to check if a number is prime."}
]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
response = generate(model, tokenizer, prompt=prompt, max_tokens=1024)
print(response)
| Variant | Size | Bits/Weight | Repo |
|---|---|---|---|
| Safetensors (fp16) | 2.0 GB | 16 | MC7ever/MiniCPM5-1B-Agent-safetensors |
| MLX Q4 | 580 MB | 4.5 | This repo |
| MLX Q2 | 387 MB | 3.0 | MC7ever/MiniCPM5-1B-Agent-mlx-q2 |
4-bit