🎤Micdrop

MiniCPM-V 4.7

Tested as the agent, the part that writes the answers and decides when to call a tool. OpenBMB publishes MiniCPM-V 4.7 in two sizes under the Apache 2.0 license: a 1B model, and a 35B-A3B mixture of experts that activates 3 billion parameters per token. Both read images too, which a voice call does not use, so only their text side was tested.

Both were compared with the recommended model, Qwen3 4B Instruct, using ollama-agent.ts with its OLLAMA_MODEL, OLLAMA_LANG and OLLAMA_URL variables, on the same machine and with the same prompt. The 1B ran 5 times in English and twice in French, the 35B-A3B 3 times in English and once in French:

The test35B-A3B1BQwen3 4B, recommended
Weights15.5 GB, mixed 3 and 4 bits0.67 GB in Q4_K_M2.5 GB in Q4_K_M
First token, warm1.2 to 3.5 s, minutes when paging85 to 180 ms~100 ms
A whole turn in English1.3 to 14 s190 to 600 ms820 to 1420 ms
Asking the time, with a get_time toolTool called every runNever called, a made up time insteadTool called
A meaningless "uh", with ignore_user_noiseCancelLastUserMessage every runAnswered every runCancelLastUserMessage every run
"Thanks, goodbye!", with end_callEndCall in 3 runs out of 4Never calledNo call, said goodbye
Numbers written in full, as the prompt asks"ten fifty-two forty AM""12:01 PM" in some runs"nine fifteen forty-three in the morning"

The 35B-A3B

It is the first local model in this section that handles every automatic tool Micdrop adds, in French as well as in English. Its French reads naturally: “Il est actuellement dix heures quarante-cinq minutes et vingt secondes.”

Its weights are the problem on this machine. The smallest file OpenBMB publishes, mix_q3gud_im, weighs 15.5 GB, and a 24 GB Mac running an editor and a browser alongside it pages part of the weights out. With the weights in memory, it generates about 25 tokens per second and each request takes under a second. When the system pages, a single request took up to two minutes. A whole turn often holds two requests, one that calls the tool and one that answers, so a call stays slower than with Qwen3 4B even in the best case.

Ollama 0.32.15 does not accept mix_q3gud_im as a tag, and the smallest tag it accepts, Q4_K_S, weighs 19.9 GB. The tests ran on the llama.cpp server instead, which reads the file where it is:

Terminal window
brew install llama.cpp
llama-server -m MiniCPM-V-4_7-35B-A3B-mix_q3gud_im.gguf \
--port 8090 --jinja -c 8192 -np 1 --reasoning-budget 0

--reasoning-budget 0 turns reasoning off. -np 1 keeps a single slot, so each turn reuses the prompt already processed for the previous one. With the default four slots, consecutive requests landed on different slots and processed the whole prompt again. Point baseURL at http://localhost:8090/v1, as the local LLM page explains for any server speaking the OpenAI protocol.

The 1B

The 1B answers in 85 to 180 ms, faster than any other model measured here, but it ignores the tools under the Micdrop prompt. Over 5 English runs it never called get_time and gave a different made up time each time, never filtered "uh" and never ended the call. Asked the time alone, with get_time as its only tool and a one line prompt, it called the tool 3 times out of 3: the longer prompt and the automatic tools are what it cannot follow. In French it mixes English and Chinese into its sentences, as in "L'heure现今 est dix-huit heures".

Pulled with ollama pull hf.co/openbmb/MiniCPM-V-4.7-1B-gguf:Q4_K_M, the model fails on its first answer in Ollama 0.32.15 with Failed to load CLIP model: Ollama cannot load its image projector. A model built from the text weights alone answers normally, tools and reasoning included:

Terminal window
ollama show --modelfile hf.co/openbmb/MiniCPM-V-4.7-1B-gguf:Q4_K_M \
| grep -m1 '^FROM' > Modelfile
ollama create minicpm-v4.7-1b-text -f Modelfile

Other variants

OpenBMB also publishes variants that were not tested, since they target other hardware:

  • The DSpark checkpoints are small draft models for speculative decoding, which speed up generation of the matching model. They run with vLLM or with OpenBMB’s fork of llama.cpp, not with Ollama.
  • The FP8, AWQ and GPTQ weights are meant for vLLM or SGLang on an NVIDIA GPU.
  • The mlx-community ports run on Apple silicon with MLX. One of them, REAP-19B, prunes the 35B-A3B down to 19 billion parameters, 13.5 GB in 4 bits.

Verdict

Use the 35B-A3B on a machine with enough memory to keep its 15.5 GB loaded next to everything else, when you need reliable tool calls in French. On a 24 GB machine, Qwen3 4B Instruct stays the recommended model. Leave the 1B aside for a voice agent, since it never calls the tools a call relies on.