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

LFM3-Omni-2B vs Ornith-1.5-35B-A3B

LFM3-Omni-2B and Ornith-1.5-35B-A3B score within a point of each other on agent readiness, 61 (C) and 61 (C). Ornith-1.5-35B-A3B leads on reach, risk and 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

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

  • Documentation and upkeep, 49 against 36

Watch for

Only llama.cpp and Ollama run it in a release

Ornith-1.5-35B-A3B C

Best for Local coding and terminal agents on a 24 to 32 GB GPU or a Mac, where a clear licence file and an answering publisher aren't required

Ahead on

  • Reach, 90 against 80
  • Risk, 50 against 40
  • Agent interface, 85 against 70

Watch for

No LICENSE file though the card links one, and no notice for the Apache 2.0 Qwen3.5 and Gemma 4 work it builds on

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.

Agent interface Ornith-1.5-35B-A3B +15

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.

Ornith-1.5-35B-A3B 85

Chat template 20, a Jinja file in the repository. Tool-calling format 25, the card shows how tools go in and how calls come back and names the parser for vLLM and SGLang. Trained tool calling 20, Ornith trains it on agent tasks and the template renders several calls in one turn. Structured output 0, not documented or claimed. Reasoning control 10, Ornith's template turns thinking off per request with enable_thinking set to false and the card says the reasoning comes back in reasoning_content, though the card doesn't name the switch. Context 10, 262,144 tokens native.

Documentation and upkeep LFM3-Omni-2B +13

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.

Ornith-1.5-35B-A3B 36

Model card 11, it covers intended use, architecture, parameters and context but not limitations, languages or a knowledge cut-off. Training data 5, a description of the method with no data or cut-off. Last change 20, Ornith deleted configuration.json and a marker file from its FP8 build on 20 October 2026, 14 days ago, which this run counts as a change to the files. Responsiveness 0, Ornith answered none of the 36 questions and reports. Version policy 0, a weight shard, every GGUF file, an FP8 shard and the NVFP4 shards were replaced in place between 23 and 26 August with no note. File health 0, the card links a missing LICENSE, and the two chat templates differ. 11 + 5 + 20 + 0 + 0 + 0 = 36.

Reach Ornith-1.5-35B-A3B +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.

Ornith-1.5-35B-A3B 90

Memory 25, since Ornith's own MLX 4-bit build is 19.5 GB and needs about 23.4 GB with the fifth added, which fits 24 GB, while its Q4_K_M GGUF, NVFP4 build and Ollama's build each need 32 GB. Runtimes 25, the most the line gives, from vLLM 0.19.1 (still in v0.33.0), SGLang 0.5.9, Transformers 5.8.1, llama.cpp's qwen35moe architecture, Ollama's library and LM Studio's catalogue for the qwen35moe architecture. Builds 15, Ornith publishes FP8, NVFP4, GGUF and MLX at several precisions. Terms 15, MIT as named in the card's metadata on 21 October 2026, with nothing added, read by its terms though the repository has no licence file. Download 10, nothing is gated. Hosted 0, Ornith runs no API and no inference provider serves it. 25 + 25 + 15 + 15 + 10 + 0 = 90.

Risk Ornith-1.5-35B-A3B +10

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.

Ornith-1.5-35B-A3B 50

File safety 25, safetensors and GGUF only and no Python in any of Ornith's repositories for this size, so the card's --trust-remote-code flag loads nothing from the repository. Provenance 15, the files come from the ornith-ai organisation Ornith's blog links to, with a SHA-256 for every weight file. Safety evaluation 0 and agent guidance 0, nothing published on either. Licence risk 10, MIT carries no policy, threshold or changeable terms, but the card's licence link is broken. Security programme 0, no security.txt, disclosure policy or security contact.

Score by category

CategoryWeight this runLFM3-Omni-2BOrnith-1.5-35B-A3BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%258090Ornith-1.5-35B-A3B +10
Risk20%204050Ornith-1.5-35B-A3B +10
Agent interface10%107085Ornith-1.5-35B-A3B +15
Documentation and upkeep10%104936LFM3-Omni-2B +13
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactLFM3-Omni-2BOrnith-1.5-35B-A3B
KindOpen-weight modelOpen-weight model
VendorLiquid AIOrnith
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceLFM Open License v1.0 (free commercial use below $10M annual revenue)MIT
Read-only variant documentednono
llms.txtyesno
Last release2026-11-032026-08-23
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Agent reviewsnone2.3/5 (4)

How the scores have moved

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.

Ornith-1.5-35B-A3B

A mid-size coding and terminal-agent cousin with about 3B active parameters, XML tool calls that vLLM and SGLang parse and 262,144 tokens of context. It runs in about 24 GB from Ornith's MLX 4-bit build or 32 GB from its GGUF. The main risk is an absent publisher, with no licence file, safety results or replies to 36 reports.

Before you call either

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

Ornith-1.5-35B-A3B

  1. Start it with ollama run ornith-1.5:35b, or llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF --port 8000 -c 262144 as the card gives it
  2. In vLLM pass --enable-auto-tool-choice --tool-call-parser qwen3_xml --reasoning-parser qwen3, and in SGLang --tool-call-parser qwen3_coder --reasoning-parser qwen3, so tool calls and reasoning come back parsed
  3. Thinking is on by default. Send chat_template_kwargs with enable_thinking false for short tasks, a switch the card doesn't mention
  4. Pin which template your runtime loads, since chat_template.jinja keeps earlier reasoning and the tokenizer_config.json template drops it
  5. Use temperature 0.6, top_p 0.95, top_k 20 for general tasks and temperature 1.0 to reproduce the card's benchmarks
  6. Pin a revision when you download, since Ornith has replaced files in place, and add mmproj-Ornith-1.5-35B-BF16.gguf (0.9 GB) for image input in llama.cpp
  7. Validate JSON output yourself, since structured output isn't documented

Questions

Which is better for AI agents, LFM3-Omni-2B or Ornith-1.5-35B-A3B?

LFM3-Omni-2B and Ornith-1.5-35B-A3B score within a point of each other on agent readiness, 61 (C) and 61 (C). Ornith-1.5-35B-A3B leads on reach, risk and agent interface.

Other comparisons with LFM3-Omni-2B or Ornith-1.5-35B-A3B

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.