Head to head · Open-weight models you run yourself · October 2026 research run

Devstral Small 2 vs LFM3-Omni-2B

Devstral Small 2 and LFM3-Omni-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). LFM3-Omni-2B leads on agent interface. Both do open-weight models you run yourself.

Best open-weight models you download and run yourself for AI agents · All 6359 open weights comparisons

Which one, for what

Devstral Small 2 C

Best for Developers who want a dependable local coding agent on one consumer GPU or a 32 GB Mac

Ahead on

  • Reach, 90 against 80
  • Risk, 60 against 40

Watch for

No limitations, safety results, languages or data on the card

LFM3-Omni-2B C

Best for Voice and camera agents on a laptop or phone that want one small model for hearing, seeing, speaking and calling tools

Ahead on

  • Agent interface, 70 against 65

Watch for

Only llama.cpp and Ollama run it in a release

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.

Risk Devstral Small 2 +20

Devstral Small 2 60

File safety 25, safetensors only, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, files in Mistral's verified mistralai organisation, which Mistral's site links to per our Mistral Large 4 listing (10). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations or safety section, and nothing on prompt injection, instruction priority or what the model refuses. Licence risk 15, Apache 2.0 has no use policy, threshold or change clause. Security programme 5, mistral.ai's security.txt gives a security contact and a submission policy, as read for the Mistral Large 4 listing (5). 25 + 15 + 0 + 0 + 15 + 5 = 60.

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.

Reach Devstral Small 2 +10

Devstral Small 2 90

Memory 25, the smallest build at 4 bits from a runtime's own library is Ollama's devstral-small-2 at Q4_K_M, 15 GB, and 15 GB × 1.2 = 18 GB, within 24 GB. Mistral's own FP8 files are 25.79 GB. Runtimes 25, Released vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 have the mistral3 model, llama.cpp b12242 has the architecture with a GGUF from its own organisation, and Ollama's library has devstral-small-2. Builds 10, one quantised precision from Mistral, the FP8 weights it releases. Terms 15, Apache 2.0 in the card's metadata and text, an OSI licence with nothing added. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Mistral's own API serves Devstral Small 2: the card says the model is available through its API and points there when a local runtime underperforms. 25 + 25 + 10 + 15 + 10 + 5 = 90.

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.

Agent interface LFM3-Omni-2B +5

Devstral Small 2 65

Chat template 20, chat_template.jinja in the repository (11,362 characters), with the tokenizer's tekken file for mistral-common. Tool-calling format 25, the card documents tools in the OpenAI function format with an example, names the mistral tool-call parser with auto tool choice for vLLM, shows the same for SGLang, and ships test prompts with the expected tool-call output. Trained tool calling 10, the card says the model excels at using tools, and its tests cover one tool call and calls made one at a time in sequence. Structured output 0, Nothing on the card about JSON or schema-constrained answers for this model. Reasoning control 0, no reasoning mode is documented, and a June 2026 commit removed stray thinking tokens from the files. Context 10, 256K tokens per the card, served at 262,144 in its vLLM command. 20 + 25 + 10 + 0 + 0 + 10 = 65.

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.

Score by category

CategoryWeight this runDevstral Small 2LFM3-Omni-2BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%259080Devstral Small 2 +10
Risk20%206040Devstral Small 2 +20
Agent interface10%106570LFM3-Omni-2B +5
Documentation and upkeep10%104649LFM3-Omni-2B +3
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactDevstral Small 2LFM3-Omni-2B
KindOpen-weight modelOpen-weight model
VendorMistral AILiquid AI
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0LFM Open License v1.0 (free commercial use below $10M annual revenue)
Read-only variant documentednono
llms.txtnoyes
Last release2026-07-152026-11-03
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked

Verdicts

Devstral Small 2

The easy one to run: a 24B coding agent under Apache 2.0 that five runtimes carry, 15 GB at 4 bits in Ollama, with a 256K context, image input and well-documented tool calling. It's eleven months old, calls tools one at a time, has no reasoning mode, and its card says nothing on limits, safety or data.

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.

Before you call either

Devstral Small 2

  1. ollama run devstral-small-2 is the quickest start, at 15 GB
  2. On vLLM pass --tool-call-parser mistral --enable-auto-tool-choice
  3. Send the system prompt from CHAT_SYSTEM_PROMPT.txt in the repository. The card says results depend on it
  4. Use a low temperature. The repository's default is 0.15
  5. Plan for one tool call per turn
  6. The same model is on our Mistral API listing if you'd rather not host it

LFM3-Omni-2B

  1. Start it with llama-server -hf LiquidAI/LFM3-Omni-2B-GGUF:Q4_K_M --jinja or ollama run lfm3-omni
  2. Greedy decoding for text. For speech use audio_temperature 0.4 and audio_repetition_penalty 1.2, per the card
  3. The context is 32K, and llama.cpp samples video at 2 frames a second up to 384 frames
  4. Parse tool calls yourself from the XML it returns
  5. It doesn't reason, so don't pass enable_thinking
  6. Validate JSON output yourself

Questions

Which is better for AI agents, Devstral Small 2 or LFM3-Omni-2B?

Devstral Small 2 and LFM3-Omni-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). LFM3-Omni-2B leads on agent interface.

Other comparisons with Devstral Small 2 or LFM3-Omni-2B

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.