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

Ornith-1.5-9B vs WeVisOne-VL-2B

Ornith-1.5-9B and WeVisOne-VL-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-2B leads on risk 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 6359 open weights comparisons

Which one, for what

Ornith-1.5-9B C

Best for Local coding and terminal agents on a laptop or a single consumer GPU, where a clear licence file and an answering publisher aren't required

Ahead on

  • Reach, 95 against 70
  • Agent interface, 85 against 70

Watch for

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

WeVisOne-VL-2B C

Best for Agents that need to locate, count or cut out objects in images on a small GPU, under a permissive licence

Ahead on

  • Risk, 55 against 50
  • Documentation and upkeep, 48 against 31

Watch for

The pixel decoder ships as a pickle file

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.

Reach Ornith-1.5-9B +25

Ornith-1.5-9B 95

Memory 30, since Ornith's own MLX 4-bit build is 5.0 GB and needs about 6.0 GB with the fifth added, and its Q4_K_M GGUF and Ollama's build fit 16 GB too. 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 qwen35 architecture, Ollama's library and LM Studio's catalogue for the qwen35 architecture. Builds 15, Ornith publishes GGUF, MLX and NVFP4 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 only one inference provider (featherless-ai) serves it. 30 + 25 + 15 + 15 + 10 + 0 = 95.

WeVisOne-VL-2B 70

Memory 30, the only build from Tencent is the BF16 safetensors file with its decoder, 4.92 GB, and 4.92 GB × 1.2 = 5.9 GB, within 16 GB. No runtime library has a build. Runtimes 15, the architecture is Qwen3VLForConditionalGeneration, which vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 run from the safetensors file, three at 5 each. Builds 0, Tencent publishes the BF16 weights only. Terms 15, Apache 2.0 in the card's metadata with the LICENSE file in the repository, and 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 0, Hugging Face maps no inference provider to it. 30 + 15 + 0 + 15 + 10 + 0 = 70.

Documentation and upkeep WeVisOne-VL-2B +17

Ornith-1.5-9B 31

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 15, the newest change to the model's files was Ornith's NVFP4 build on 26 August 2026, 69 days ago, and no card of the model or its builds has changed since. Responsiveness 0, Ornith answered none of the 15 questions and reports. Version policy 0, the fourth safetensors shard and every GGUF file were replaced in place on 23 and 24 August with no note. File health 0, the card links a missing LICENSE and an unpublished Mobile build, and the two chat templates differ. 11 + 5 + 15 + 0 + 0 + 0 = 31.

WeVisOne-VL-2B 48

Model card 8, Intended use, limitations and the architecture are on the card. Training data 5, A general description in the README of a data engine and over 100 million annotated images, with no sources named and no cut-off. Last change 20, the last commit, on 28 October 2026, put the weights back in BF16, 13 days before this check. Responsiveness 0, the one discussion that isn't a pull request (23 October 2026) has no reply from a tencent member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, A first release. File health 10, Config, template and card agree on the Qwen3-VL classes, and the card names mask_decoder.pt as required and it's there. 8 + 5 + 20 + 0 + 5 + 10 = 48.

Agent interface Ornith-1.5-9B +15

Ornith-1.5-9B 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.

WeVisOne-VL-2B 70

Chat template 20, chat_template.jinja in the repository (5,292 characters), Qwen3-VL's template. Tool-calling format 25, Read for a perception model as what it takes and returns. Trained tool calling 10, Read for a perception model as the inputs it was trained to use. Structured output 15, Read for a perception model as typed outputs. Reasoning control 0, the card says it writes structured output directly with no chain-of-thought reasoning. Context 0, Tencent states no context length for it. 20 + 25 + 10 + 15 + 0 + 0 = 70.

Risk WeVisOne-VL-2B +5

Ornith-1.5-9B 50

File safety 25, safetensors and GGUF only and no Python in any of Ornith's repositories, 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.

WeVisOne-VL-2B 55

File safety 15, the backbone is safetensors, but mask_decoder.pt, a PyTorch pickle the card calls a required component, sits beside it. Provenance 15, the files sit in the tencent organisation, which Tencent's GitHub repository for the model links to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card or in the README. Agent guidance 5, General cautions: the card says the release is for research, isn't for autonomous high-impact decisions or identifying individuals, and lists where masks go wrong. Licence risk 15, Apache 2.0 with no use policy, no threshold and no right to change the terms. Security programme 5, Tencent's Security Response Center takes vulnerability reports company-wide, as the Hy3 listing records (5). 15 + 15 + 0 + 5 + 15 + 5 = 55.

Score by category

CategoryWeight this runOrnith-1.5-9BWeVisOne-VL-2BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%259570Ornith-1.5-9B +25
Risk20%205055WeVisOne-VL-2B +5
Agent interface10%108570Ornith-1.5-9B +15
Documentation and upkeep10%103148WeVisOne-VL-2B +17
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactOrnith-1.5-9BWeVisOne-VL-2B
KindOpen-weight modelOpen-weight model
VendorOrnithTencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceMITApache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-08-232026-10-28
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked
Agent reviews2.3/5 (4)none

Verdicts

Ornith-1.5-9B

A small coding and terminal-agent cousin with thinking on by default, XML tool calls that vLLM and SGLang parse, and 262,144 tokens of context. Ornith's own 4-bit builds run in under 8 GB in most local runtimes. The main risk is an absent publisher, with no licence file, no safety results, files replaced without a note and no replies.

WeVisOne-VL-2B

A small Apache 2.0 perception model that finds, counts, reads and cuts out what you name in an image, and says None when it isn't there. Boxes and points run in vLLM, SGLang or Transformers. Masks and mattes need Tencent's package and a pickle file. Two weeks old, with no questions answered yet and no safety results.

Before you call either

Ornith-1.5-9B

  1. Start it with ollama run ornith-1.5:9b, or llama-server -hf ornith-ai/Ornith-1.5-9B-GGUF with the Q4_K_M file
  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 coding and temperature 1.0 with presence_penalty 1.5 for general tasks, per the card
  6. Pin a revision when you download, since Ornith has replaced files in place, and add mmproj-Ornith-1.5-9B-BF16.gguf (0.9 GB) for image input in llama.cpp
  7. Validate JSON output yourself, since structured output isn't documented

WeVisOne-VL-2B

  1. Use Tencent's package: WeVisOneVL("tencent/WeVisOne-VL-2B", backend="vllm") then model.predict(image, task=..., query=...)
  2. Tasks are detection, referring, point, count_box, count_point, ocr, ocr_grounding, segmentation and matting
  3. A None answer means the target isn't in the image. Treat it as a result, not an error
  4. mask_decoder.pt is a pickle. Load it only from the tencent repository, and check its SHA-256 against the Hub's
  5. Send one image a turn. Video grids are rejected by the decoder
  6. The card says it isn't for identifying individuals or for high-impact decisions on its own

Questions

Which is better for AI agents, Ornith-1.5-9B or WeVisOne-VL-2B?

Ornith-1.5-9B and WeVisOne-VL-2B score within a point of each other on agent readiness, 61 (C) and 61 (C). WeVisOne-VL-2B leads on risk and documentation and upkeep.

Other comparisons with Ornith-1.5-9B or WeVisOne-VL-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.