Head to head · Open-weight models you run yourself · October 2026 research run
LFM3-Omni-2B vs MiniCPM5-2B
LFM3-Omni-2B scores 61 (C) on agent readiness against MiniCPM5-2B's 59.7 (C), and leads in 0 of 4 scored categories. MiniCPM5-2B leads on reach, risk, agent interface and documentation and upkeep. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 4969 open weights comparisons
Which one, for what
Best for Voice and camera agents on a laptop or phone that want one small model for hearing, seeing, speaking and calling tools
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
Only llama.cpp and Ollama run it in a release
Best for On-device and laptop agents that want a 2 GB tool-calling helper with long context and open training data
Ahead on
- Reach, 90 against 80
- Risk, 55 against 40
- Agent interface, 75 against 70
- Documentation and upkeep, 92 against 49
Watch for
OpenBMB documents only a Think mode for the 2B, so every answer starts with reasoning
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Documentation and upkeep MiniCPM5-2B +43
LFM3-Omni-2B 49
Model card 14, Intended use (one on-device model in place of separate speech recognition, vision, language and speech models), architecture, parameters (2.17B), context (32K) and the text and speech languages. Training data 5, the card has no training section. Last change 20, the last commit, on 3 November 2026, changed the card's navigation icons, seven days before this check, and the one before it, on 28 October, documented video frame rate and frame limits. Responsiveness 0, none of the 12 discussions that aren't pull requests (27 October to 9 November 2026) has a reply from a LiquidAI member. Version policy 5, LFM3 came out in new repositories and the LFM2.5 models stay in theirs. File health 5, the card gives a 32K context while config.json gives the language model 128,000 positions and Liquid's API lists 128,000 for the hosted model, so the card and the files don't agree on context. 14 + 5 + 20 + 0 + 5 + 5 = 49.
MiniCPM5-2B 92
Model card 17, everything but a knowledge cut-off. Training data 20, all eight training datasets are published on Hugging Face and named per stage with sizes. Last change 15, a template fix on 29 September 2026, 36 days ago, with nothing newer in OpenBMB's MiniCPM5 repositories on Hugging Face (builds last changed 12 September) or its GitHub repository (21 September). Responsiveness 20, OpenBMB members answered 16 of the 23 questions in the discussions, the newest reply on 29 September. Version policy 10, earlier models and checkpoints sit in their own repositories and the GitHub changelog dates each release. File health 10, config, tokenizer, template and card agree and no broken-file report waited on 21 October, though OpenBMB's GGUF, MLX and GPTQ repositories still carry the template from before the 29 September fix.
Risk MiniCPM5-2B +15
LFM3-Omni-2B 40
File safety 15, safetensors only, no .bin, .pt or .pth files (25). Provenance 15, files in the LiquidAI organisation, which Liquid's docs page for the model and its blog post link to (10). Safety evaluation 0, no safety results on the card or in Liquid's blog post for the LFM3 family, neither of which mentions safety testing. Agent guidance 0, Nothing on prompt injection, an instruction hierarchy, what refusals cover or safeguards to add. Licence risk 10, 15 less 5 for the $10M annual revenue threshold on commercial use. Security programme 0, no way to report a flaw found. 15 + 15 + 0 + 0 + 10 + 0 = 40.
MiniCPM5-2B 55
File safety 25, safetensors and GGUF only, and the documented way to load it runs no code from the repository. Provenance 15, the openbmb organisation linked from OpenBMB's GitHub, with a SHA-256 for every weight file. Safety evaluation 0, nothing published. Agent guidance 5, the card only cautions that prompts can manipulate the model and that users should add their own safeguards. Licence risk 10, 5 off for the card's use limit beyond the law. Security programme 0, no SECURITY.md, no security.txt and no advisories.
Reach MiniCPM5-2B +10
LFM3-Omni-2B 80
Memory 30, Liquid's Q4_K_M GGUF is 1.10 GB with its 0.29 GB projector file, and 1.39 GB × 1.2 = 1.7 GB, which fits 8 GB, well inside the 16 GB line. Runtimes 10, Released llama.cpp has the lfm3 architecture with the LFM3 vision and audio projectors and speech output (src/models/lfm3.cpp and tools/mtmd at b12242, with a realtime client example), and Ollama's library has an lfm3-omni entry. Builds 15, Liquid's GGUF repository holds Q4_0, Q4_K_M, Q8_0, F16 and BF16 files, and Liquid publishes 4-bit and 8-bit MLX builds and an ONNX repository, all in the LiquidAI organisation. Terms 10, the LFM Open License v1.0, a custom licence that lets anyone use it commercially for free below a threshold of $10M annual revenue. Download 10, the Hub API reports gated false for the model and its GGUF, MLX and ONNX repositories on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Liquid's own API lists lfm3-omni-2b among its models, so the publisher hosts it. 30 + 10 + 15 + 10 + 10 + 5 = 80.
MiniCPM5-2B 90
Memory 30, OpenBMB's own MLX 4-bit build is 1.42 GB and its Q4_K_M GGUF 1.56 GB, about 2 GB with the fifth added. Runtimes 25, the cap, since the model is a stock Llama and vLLM, SGLang, released Transformers, a released llama.cpp and Ollama all run it. Builds 15, OpenBMB ships GGUF at three precisions plus MLX and GPTQ 4-bit. Terms 10, the LICENSE is plain Apache 2.0 but the card prohibits jailbreaking and injection testing and limits use to ethical purposes, which reads as a use policy on top (dated 21 October 2026). Download 10, nothing is gated. Hosted 0, OpenBMB has no API for it, no inference provider is listed on its Hugging Face page and OpenRouter doesn't carry it.
Agent interface MiniCPM5-2B +5
LFM3-Omni-2B 70
Chat template 20, chat_template.jinja in the repository (13,513 characters), with roles, images, video and audio, tools, deferred tools and tool results. Tool-calling format 25, the card and Liquid's tool-use page document tools passed through tools= in apply_chat_template, calls returned as XML and results sent back as tool messages. Trained tool calling 20, the template loops over every entry in an assistant turn's tool_calls, so several calls fit in one turn, and the card documents tool calling from spoken or written requests. Structured output 0, the card doesn't mention JSON or structured output for this model. Reasoning control 0, the card says this is a non-reasoning model and that enable_thinking=True is not supported, so there is no thinking to turn off or budget. Context 5, 32K tokens of input and output per the card. 20 + 25 + 20 + 0 + 0 + 5 = 70.
MiniCPM5-2B 75
Chat template 20, a Jinja file in the repository. Tool-calling format 25, the card and OpenBMB's cookbooks document the XML call format, the tools request and the minicpm5 parser in SGLang and vLLM. Trained tool calling 20, agent SFT on 500K samples and a template that renders several calls in one turn. Structured output 0, nothing documents asking for JSON. Reasoning control 0, a judgement call, because OpenBMB's own cookbooks call Think the only supported mode for the 2B even though the template accepts enable_thinking false. Context 10, 131,072 tokens native with no rope scaling.
Score by category
| Category | Weight this run | LFM3-Omni-2B | MiniCPM5-2B | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 80 | 90 | MiniCPM5-2B +10 |
| Risk | 20%20 | 40 | 55 | MiniCPM5-2B +15 |
| Agent interface | 10%10 | 70 | 75 | MiniCPM5-2B +5 |
| Documentation and upkeep | 10%10 | 49 | 92 | MiniCPM5-2B +43 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | C 59.7/100 |
Facts side by side
| Fact | LFM3-Omni-2B | MiniCPM5-2B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Liquid AI | OpenBMB |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | LFM Open License v1.0 (free commercial use below $10M annual revenue) | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-11-03 | 2026-09-29 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | none | 3/5 (4) |
How the scores have moved
LFM3-Omni-2B
No score change since it was listed.
Verdicts
LFM3-Omni-2B
One 2.17B model that sees, listens and talks on an 8 GB machine and turns spoken requests into tool calls. Only llama.cpp and Ollama run it in a release. The context is 32K, it doesn't reason, Liquid hasn't answered a question on the repository, and there are no safety results or data sources.
MiniCPM5-2B
A 2B dense model for local tool calling and long context, with published training data. OpenBMB's own 4-bit builds are under 1.6 GB, and the model loads in vLLM, SGLang, llama.cpp, Ollama and Transformers. The main risks are always-on thinking, no safety results and use conditions beyond Apache 2.0.
Before you call either
LFM3-Omni-2B
- Start it with
llama-server -hf LiquidAI/LFM3-Omni-2B-GGUF:Q4_K_M --jinjaorollama run lfm3-omni - Greedy decoding for text. For speech use audio_temperature 0.4 and audio_repetition_penalty 1.2, per the card
- The context is 32K, and llama.cpp samples video at 2 frames a second up to 384 frames
- Parse tool calls yourself from the XML it returns
- It doesn't reason, so don't pass enable_thinking
- Validate JSON output yourself
MiniCPM5-2B
- Smallest start is
ollama run openbmb/minicpm5-2b(1.6 GB, q4_k_m) - On vLLM 0.29.0 or later run
vllm serve openbmb/MiniCPM5-2B --max-model-len 131072 --enable-auto-tool-choice --tool-call-parser minicpm5, or tool calls come back as XML text - On SGLang 0.5.16 or later add
--tool-call-parser minicpm5 --reasoning-parser qwen3; SGLang is OpenBMB's recommended backend for tool calls - Tool calls are XML,
<function name=...><param name=...>, not Hermes JSON - Sample with temperature 1.0, top_p 0.95 and min_p 0.0; llama.cpp's default min_p 0.05 can loop, and repetition_penalty 1.05 helps if it does
- Expect a
<think>block before every answer and leave room in max_tokens; enable_thinking false is accepted by the template but OpenBMB doesn't support it for the 2B - Validate JSON yourself or use the runtime's guided decoding, since structured output isn't documented
- Use the main repository's template; the GGUF, MLX and GPTQ copies predate the 29 September fix
Questions
Which is better for AI agents, LFM3-Omni-2B or MiniCPM5-2B?
LFM3-Omni-2B scores 61 (C) on agent readiness against MiniCPM5-2B's 59.7 (C), and leads in 0 of 4 scored categories. MiniCPM5-2B leads on reach, risk, agent interface and documentation and upkeep.
Other comparisons with LFM3-Omni-2B or MiniCPM5-2B
- Agents-A1-4B vs LFM3-Omni-2B
- Agents-A1-4B vs MiniCPM5-2B
- Apertus v1.5 8B vs LFM3-Omni-2B
- Apertus v1.5 8B vs MiniCPM5-2B
- Apodex-1.1-mini vs LFM3-Omni-2B
- Apodex-1.1-mini vs MiniCPM5-2B
- Arete-27B vs LFM3-Omni-2B
- Arete-27B vs MiniCPM5-2B
- BigBang-v1 vs LFM3-Omni-2B
- BigBang-v1 vs MiniCPM5-2B
- Carbon-X vs LFM3-Omni-2B
- Carbon-X vs MiniCPM5-2B
- Cosmos-Reason2-2B vs LFM3-Omni-2B
- Cosmos-Reason2-2B vs MiniCPM5-2B
- Darwin-36B-Opus vs LFM3-Omni-2B
- Darwin-36B-Opus vs MiniCPM5-2B
- DeepSeek-V3.2 vs LFM3-Omni-2B
- DeepSeek-V3.2 vs MiniCPM5-2B
- DeepSeek V4.1 Flash vs LFM3-Omni-2B
- DeepSeek V4.1 Flash vs MiniCPM5-2B
- DeepSeek-V4-Flash-0731 vs LFM3-Omni-2B
- DeepSeek-V4-Flash-0731 vs MiniCPM5-2B
- DiffusionGemma 26B A4B IT vs LFM3-Omni-2B
- DiffusionGemma 26B A4B IT vs MiniCPM5-2B
- Gemma 4 12B IT vs LFM3-Omni-2B
- Gemma 4 12B IT vs MiniCPM5-2B
- Gemma 4 26B A4B IT vs LFM3-Omni-2B
- Gemma 4 26B A4B IT vs MiniCPM5-2B
- Gemma 4 31B IT vs LFM3-Omni-2B
- Gemma 4 31B IT vs MiniCPM5-2B
- Gemma 4 E2B IT vs LFM3-Omni-2B
- Gemma 4 E2B IT vs MiniCPM5-2B
- Gemma 4 E4B IT vs LFM3-Omni-2B
- Gemma 4 E4B IT vs MiniCPM5-2B
- GLM-4.5-Air vs LFM3-Omni-2B
- GLM-4.5-Air vs MiniCPM5-2B
- GLM-4.7-Flash vs LFM3-Omni-2B
- GLM-4.7-Flash vs MiniCPM5-2B
- GLM-5.3-Flash vs LFM3-Omni-2B
- GLM-5.3-Flash vs MiniCPM5-2B
- GLM-5.3 vs LFM3-Omni-2B
- GLM-5.3 vs MiniCPM5-2B
- gpt-oss-120b vs LFM3-Omni-2B
- gpt-oss-120b vs MiniCPM5-2B
- gpt-oss-20b vs LFM3-Omni-2B
- gpt-oss-20b vs MiniCPM5-2B
- Granite 4.2 30B vs LFM3-Omni-2B
- Granite 4.2 30B vs MiniCPM5-2B
- Granite 4.2 3B vs LFM3-Omni-2B
- Granite 4.2 3B vs MiniCPM5-2B
- Granite 4.2 8B vs LFM3-Omni-2B
- Granite 4.2 8B vs MiniCPM5-2B
- Hy-Memory-30B-A3B vs LFM3-Omni-2B
- Hy-Memory-30B-A3B vs MiniCPM5-2B
- Hy3 vs LFM3-Omni-2B
- Hy3 vs MiniCPM5-2B
- Inkling-Small vs LFM3-Omni-2B
- Inkling-Small vs MiniCPM5-2B
- Inkling vs LFM3-Omni-2B
- Inkling vs MiniCPM5-2B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs LFM3-Omni-2B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs MiniCPM5-2B
- Kimi K3.1 Pro vs LFM3-Omni-2B
- Kimi K3.1 Pro vs MiniCPM5-2B
- Kimi K3 vs LFM3-Omni-2B
- Kimi K3 vs MiniCPM5-2B
- Kolibri-1 vs LFM3-Omni-2B
- Kolibri-1 vs MiniCPM5-2B
- Kronos vs LFM3-Omni-2B
- Kronos vs MiniCPM5-2B
- Laguna M.1 vs LFM3-Omni-2B
- Laguna M.1 vs MiniCPM5-2B
- Laguna S 2.1 vs LFM3-Omni-2B
- Laguna S 2.1 vs MiniCPM5-2B
- Laguna XS 2.1 vs LFM3-Omni-2B
- Laguna XS 2.1 vs MiniCPM5-2B
- LBS-27B vs LFM3-Omni-2B
- LBS-27B vs MiniCPM5-2B
- LFM2.5-2.6B vs LFM3-Omni-2B
- LFM2.5-2.6B vs MiniCPM5-2B
- LFM3-1.7B vs LFM3-Omni-2B
- LFM3-1.7B vs MiniCPM5-2B
- LFM3-Audio-2B vs LFM3-Omni-2B
- LFM3-Audio-2B vs MiniCPM5-2B
- LFM3-Omni-2B vs LFM3-VL-2B
- LFM3-Omni-2B vs Ling-3.0-tiny
- LFM3-Omni-2B vs Ling-3.1-flash-1019
- LFM3-Omni-2B vs MiMo-V2.6 Distill Qwen 9B
- LFM3-Omni-2B vs MiniCPM-o 4.5
- LFM3-Omni-2B vs MiniCPM-V 4.7 1B
- LFM3-Omni-2B vs MiniCPM-V 4.7 35B-A3B
- LFM3-Omni-2B vs MiniMax-M2.5
- LFM3-Omni-2B vs MiniMax-M2.7
- LFM3-Omni-2B vs MiniMax-M3.1-Flash
- LFM3-Omni-2B vs Mistral Large 4
- LFM3-Omni-2B vs Muse Glimmer 30B
- LFM3-Omni-2B vs Nanbeige4.3-33B
- LFM3-Omni-2B vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- LFM3-Omni-2B vs Nemotron 3.5 Lightning 30B A3B
- LFM3-Omni-2B vs Nemotron 3 Nano 30B A3B
- LFM3-Omni-2B vs Nemotron 3 Nano 4B
- LFM3-Omni-2B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- LFM3-Omni-2B vs Nemotron 3 Super 120B A12B
- LFM3-Omni-2B vs Nemotron 3 Ultra 550B A55B
- LFM3-Omni-2B vs occamy-1.0
- LFM3-Omni-2B vs Olmo 3 7B Think
- LFM3-Omni-2B vs Ornith-1.5-122B
- LFM3-Omni-2B vs Ornith-1.5-35B-A3B
- LFM3-Omni-2B vs Ornith-1.5-397B
- LFM3-Omni-2B vs Ornith-1.5-9B
- LFM3-Omni-2B vs Qwen-AgentWorld-35B-A3B
- LFM3-Omni-2B vs Qwen3-30B-A3B-Instruct-2507
- LFM3-Omni-2B vs Qwen3-4B-Instruct-2507
- LFM3-Omni-2B vs Qwen3.5-0.8B
- LFM3-Omni-2B vs Qwen3.5-122B-A10B
- LFM3-Omni-2B vs Qwen3.5-2B
- LFM3-Omni-2B vs Qwen3.5-397B-A17B
- LFM3-Omni-2B vs Qwen3.5-4B
- LFM3-Omni-2B vs Qwen3.5-9B
- LFM3-Omni-2B vs Qwen3.6-27B
- LFM3-Omni-2B vs Qwen3.6-35B-A3B
- LFM3-Omni-2B vs Qwen3.8-27B
- LFM3-Omni-2B vs Qwen3.8-Flash-Next
- LFM3-Omni-2B vs Qwen3-Coder-30B-A3B-Instruct
- LFM3-Omni-2B vs Qwen3-Coder-Next
- LFM3-Omni-2B vs Qwen3-Omni-30B-A3B-Instruct
- LFM3-Omni-2B vs Qwen3-VL-2B-Instruct
- LFM3-Omni-2B vs Qwen3-VL-30B-A3B-Instruct
- LFM3-Omni-2B vs Qwen3-VL-32B-Instruct
- LFM3-Omni-2B vs Qwen3-VL-4B-Instruct
- LFM3-Omni-2B vs Qwen3-VL-8B-Instruct
- LFM3-Omni-2B vs Qwopus3.8-27B-Flash-V2
- LFM3-Omni-2B vs Recursive Flint
- LFM3-Omni-2B vs Ripple-65B Preview
- LFM3-Omni-2B vs SmolLM3-3B
- LFM3-Omni-2B vs Spark-X2.6-4B
- LFM3-Omni-2B vs Swift 1.5 Qwen3.8-27B
- LFM3-Omni-2B vs Swift 1.5 Qwen3.8-Flash-Next
- LFM3-Omni-2B vs ThinkingCap (Qwen3.8 27B)
- LFM3-Omni-2B vs Baidu Unlimited-OCR-2
- LFM3-VL-2B vs MiniCPM5-2B
- Ling-3.0-tiny vs MiniCPM5-2B
- Ling-3.1-flash-1019 vs MiniCPM5-2B
- MiMo-V2.6 Distill Qwen 9B vs MiniCPM5-2B
- MiniCPM-o 4.5 vs MiniCPM5-2B
- MiniCPM-V 4.7 1B vs MiniCPM5-2B
- MiniCPM-V 4.7 35B-A3B vs MiniCPM5-2B
- MiniCPM5-2B vs MiniMax-M2.5
- MiniCPM5-2B vs MiniMax-M2.7
- MiniCPM5-2B vs MiniMax-M3.1-Flash
- MiniCPM5-2B vs Mistral Large 4
- MiniCPM5-2B vs Muse Glimmer 30B
- MiniCPM5-2B vs Nanbeige4.3-33B
- MiniCPM5-2B vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- MiniCPM5-2B vs Nemotron 3.5 Lightning 30B A3B
- MiniCPM5-2B vs Nemotron 3 Nano 30B A3B
- MiniCPM5-2B vs Nemotron 3 Nano 4B
- MiniCPM5-2B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- MiniCPM5-2B vs Nemotron 3 Super 120B A12B
- MiniCPM5-2B vs Nemotron 3 Ultra 550B A55B
- MiniCPM5-2B vs occamy-1.0
- MiniCPM5-2B vs Olmo 3 7B Think
- MiniCPM5-2B vs Ornith-1.5-122B
- MiniCPM5-2B vs Ornith-1.5-35B-A3B
- MiniCPM5-2B vs Ornith-1.5-397B
- MiniCPM5-2B vs Ornith-1.5-9B
- MiniCPM5-2B vs Qwen-AgentWorld-35B-A3B
- MiniCPM5-2B vs Qwen3-30B-A3B-Instruct-2507
- MiniCPM5-2B vs Qwen3-4B-Instruct-2507
- MiniCPM5-2B vs Qwen3.5-0.8B
- MiniCPM5-2B vs Qwen3.5-122B-A10B
- MiniCPM5-2B vs Qwen3.5-2B
- MiniCPM5-2B vs Qwen3.5-397B-A17B
- MiniCPM5-2B vs Qwen3.5-4B
- MiniCPM5-2B vs Qwen3.5-9B
- MiniCPM5-2B vs Qwen3.6-27B
- MiniCPM5-2B vs Qwen3.6-35B-A3B
- MiniCPM5-2B vs Qwen3.8-27B
- MiniCPM5-2B vs Qwen3.8-Flash-Next
- MiniCPM5-2B vs Qwen3-Coder-30B-A3B-Instruct
- MiniCPM5-2B vs Qwen3-Coder-Next
- MiniCPM5-2B vs Qwen3-Omni-30B-A3B-Instruct
- MiniCPM5-2B vs Qwen3-VL-2B-Instruct
- MiniCPM5-2B vs Qwen3-VL-30B-A3B-Instruct
- MiniCPM5-2B vs Qwen3-VL-32B-Instruct
- MiniCPM5-2B vs Qwen3-VL-4B-Instruct
- MiniCPM5-2B vs Qwen3-VL-8B-Instruct
- MiniCPM5-2B vs Qwopus3.8-27B-Flash-V2
- MiniCPM5-2B vs Recursive Flint
- MiniCPM5-2B vs Ripple-65B Preview
- MiniCPM5-2B vs SmolLM3-3B
- MiniCPM5-2B vs Spark-X2.6-4B
- MiniCPM5-2B vs Swift 1.5 Qwen3.8-27B
- MiniCPM5-2B vs Swift 1.5 Qwen3.8-Flash-Next
- MiniCPM5-2B vs ThinkingCap (Qwen3.8 27B)
- MiniCPM5-2B vs Baidu Unlimited-OCR-2
Machine-readable
- This page as Markdown
/compare/lfm3-omni-2b-vs-minicpm5-2b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/lfm3-omni-2b.json·/api/v1/tools/minicpm5-2b.json - From a terminal
anchor compare lfm3-omni-2b minicpm5-2b(the CLI) - Over MCP
compare_tools {"a": "lfm3-omni-2b", "b": "minicpm5-2b"}at/mcp, no key