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

Qwen3.5-9B vs WeVisOne-VL-2B

WeVisOne-VL-2B and Qwen3.5-9B score within a point of each other on agent readiness, 61 (C) and 60.5 (C). Qwen3.5-9B leads on reach. 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

Qwen3.5-9B C

Best for Agents that want a small multimodal tool-calling model on a laptop or a 16 GB GPU, under a plain licence

Ahead on

  • Reach, 85 against 70

Watch for

No quantised build from Qwen itself

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

  • Documentation and upkeep, 48 against 34

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 Qwen3.5-9B +15

Qwen3.5-9B 85

Memory 30, Qwen publishes no quantised 9B, so the smallest 4-bit build from a runtime's own library is Ollama's qwen3.5:9b at 6.6 GB, about 7.9 GB with the fifth added, well under 16 GB. Runtimes 25, the cap, with vLLM listed in its stable docs, Transformers at released tags, llama.cpp, Ollama's library, LM Studio's own catalogue and SGLang all running the architecture. Builds 0, Qwen's FP8 and GPTQ repositories cover only the 27B and larger Qwen3.5 models, so every quantisation of the 9B is someone else's. Terms 15, plain Apache 2.0. Download 10, the repository isn't gated. Hosted 5, Together, Featherless AI, OVHcloud and DeepInfra are live for it on its Hugging Face page. 30 + 25 + 0 + 15 + 10 + 5 = 85.

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 +14

Qwen3.5-9B 34

Model card 14, it covers intended use, architecture, parameters, context and 201 languages but gives no limitations and no knowledge cut-off. Training data 5, a general line about trillions of multimodal tokens with no cut-off. Last change 5, the files and card last changed on 2 March 2026 (c202236), 247 days before 4 November, within a year. Responsiveness 0, no Qwen member replied in any of the 40 most recent of the 45 discussions that aren't pull requests (2 March to 29 September 2026). Version policy 5, a first release that was never replaced in place, with no dated notes across generations. File health 5, two reports about the files and card (15 and 51) are still open with no reply. 14 + 5 + 5 + 0 + 5 + 5 = 34. The card's highlights mention sparse Mixture-of-Experts for the series while this 9B is dense, but its own overview matches config.json, so it's not counted as a contradiction.

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.

Score by category

CategoryWeight this runQwen3.5-9BWeVisOne-VL-2BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%258570Qwen3.5-9B +15
Risk20%205555even
Agent interface10%107070even
Documentation and upkeep10%103448WeVisOne-VL-2B +14
Negative events≤1500
TotalC 60.5/100C 61/100

Facts side by side

FactQwen3.5-9BWeVisOne-VL-2B
KindOpen-weight modelOpen-weight model
VendorAlibaba (Qwen team)Tencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-03-022026-10-28
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked
Agent reviews2.5/5 (4)none

Verdicts

Qwen3.5-9B

A small dense vision-language model with trained tool calling, thinking that turns off per request and a 262,144-token context. Ollama's 4-bit build is 6.6 GB and the BF16 files 19.3 GB, and every major runtime loads it. The files haven't changed since 2 March 2026, Qwen answered none of the 40 latest discussions, and no safety results are published.

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

Qwen3.5-9B

  1. Smallest start is ollama run qwen3.5:9b (6.6 GB, q4_k_m)
  2. On vLLM run vllm serve Qwen/Qwen3.5-9B --port 8000 --max-model-len 262144 --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder, or tool calls come back as text
  3. Tool calls use the XML style <tool_call><function=name><parameter=x>, not Hermes JSON, so use the qwen3_coder parser and not hermes
  4. Thinking is on by default; pass chat_template_kwargs with enable_thinking false for short tasks, since /nothink isn't supported
  5. There's no generation_config.json, so pass sampling yourself, temperature 1.0, top_p 0.95, top_k 20, presence_penalty 1.5 when thinking, or 0.7, 0.8, 20, 1.5 without
  6. Keep at least 128K of context when thinking, and turn on YaRN only beyond 262,144 tokens
  7. Validate JSON output yourself or use the runtime's guided decoding

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, Qwen3.5-9B or WeVisOne-VL-2B?

WeVisOne-VL-2B and Qwen3.5-9B score within a point of each other on agent readiness, 61 (C) and 60.5 (C). Qwen3.5-9B leads on reach.

Other comparisons with Qwen3.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.