Head to head · OCR · October 2026 research run

Baidu Unlimited-OCR-2 vs WeVisOne-VL-4B

WeVisOne-VL-4B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 54.2 (C), and leads in 2 of 4 scored categories. Baidu Unlimited-OCR-2 leads on agent interface. Both do ocr.

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

Which one, for what

Baidu Unlimited-OCR-2 C

Best for Pipelines with an NVIDIA GPU that need long scanned or rendered documents parsed in one pass, with page order, cross-page tables and boxes kept

Ahead on

  • Agent interface, 75 against 70

Watch for

Loading runs Baidu's code, remote code in Transformers or a prebuilt SGLang fork from the repository, and the save_results path calls eval on model output

WeVisOne-VL-4B 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

  • Reach, 70 against 55
  • Risk, 55 against 45

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 WeVisOne-VL-4B +15

Baidu Unlimited-OCR-2 55

Memory earns the full 30, since the only build is 6.69 GB of BF16 weights that need about 8 GB with the fifth added. Runtimes score 0. Released vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.1 know the first Unlimited-OCR but not the sparse attention this one adds, Baidu's own routes are remote code in Transformers and a customised SGLang wheel, llama.cpp b12111 has nothing for it, so Ollama has nothing either, and LM Studio couldn't be checked. Builds score 0, as Baidu publishes no quantised build (16 exist, all by others). Terms get 15 for MIT with nothing added. Download gets 10 for an ungated repository, and hosted too 0, with no inference provider mapped and the card's Baidu Cloud line unconfirmed.

WeVisOne-VL-4B 70

Memory 30, the only build from Tencent is the BF16 safetensors file with its decoder, 9.7 GB, and 9.7 GB × 1.2 = 11.6 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.

Risk WeVisOne-VL-4B +10

Baidu Unlimited-OCR-2 45

File safety gets 15, safetensors only but loaded with trust_remote_code or through a prebuilt SGLang wheel from the repository. Provenance gets 15 for files in Baidu's verified organisation, linked from its GitHub organisation, with hashes for every file. Licence risk keeps 15, since MIT has none of the deductions. Safety evaluation, agent guidance and the security programme score 0, with no safety results, no cautions about use and no security contact found.

WeVisOne-VL-4B 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.

Agent interface Baidu Unlimited-OCR-2 +5

Baidu Unlimited-OCR-2 75

Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Baidu documents the page images, the prompt, the request settings and the block output, and ships a converter for the server's output (25). It was trained to read many pages in one request (20). The block format with classes, boxes and HTML tables, and its conversion to Markdown, are documented with how to get them (15). The prompt is built in code, with no Jinja template in the repository (10). Reasoning control scores 0, and the context 5, trained at up to 64K tokens.

WeVisOne-VL-4B 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.

Score by category

CategoryWeight this runBaidu Unlimited-OCR-2WeVisOne-VL-4BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%255570WeVisOne-VL-4B +15
Risk20%204555WeVisOne-VL-4B +10
Agent interface10%107570Baidu Unlimited-OCR-2 +5
Documentation and upkeep10%105048Baidu Unlimited-OCR-2 +2
Negative events≤1500
TotalC 54.2/100C 61/100

Facts side by side

FactBaidu Unlimited-OCR-2WeVisOne-VL-4B
KindOpen-weight modelOpen-weight model
VendorBaiduTencent (WeChat Vision)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceMIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu)Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-10-262026-10-27
Terms last updatedno document linkednot read yet
Privacy policy last updatedno document linkedno document linked

How the scores have moved

Verdicts

Baidu Unlimited-OCR-2

An MIT document parser of 3.3B parameters that reads up to hundreds of pages in one request and returns ordered layout blocks with boxes and HTML tables. ParseBench's independent run puts content faithfulness at 89.16 and charts at 1.06. It needs an NVIDIA GPU with about 12 GB and runs only through Baidu's remote code or its own SGLang build.

WeVisOne-VL-4B

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

Baidu Unlimited-OCR-2

  1. Quickest local run, pip install torch==2.13.0 torchvision pillow transformers==4.52.1 huggingface-hub==0.36.0 tokenizers==0.21.4 addict==2.4.0 einops==0.8.2 easydict==1.13, then AutoModel.from_pretrained("baidu/Unlimited-OCR-2", trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda() and model.infer_multi(tokenizer, image_files=pages, output_path="out")
  2. To serve it, download the repository, install wheel/sglang-0.5.20.dev13+g75b9b06b02-py3-none-any.whl with pymupdf and fastokens in a Python 3.10 venv, and start python -m sglang.launch_server --model-path baidu/Unlimited-OCR-2 --chat-template unlimited-ocr --enable-custom-logit-processor --enable-streaming-session --disable-radix-cache --mem-fraction-static 0.7 --max-prefill-tokens 2048 with the SGLANG_UOCR_ variables from the card
  3. Send all pages of a document in one request, images first, then the text <PAGE><image> repeated per page and Multi page parsing., with temperature 0, skip_special_tokens false, max_tokens of about 8,000 per page and the DeepseekOCRNoRepeatNGramLogitProcessor (ngram_size 35, window_size 1024 for several pages)
  4. The output is layout blocks, not Markdown; run utils/process_unlimitedOCR2.py from github.com/baidu/Unlimited-OCR, or convert(raw_output) in Python, to get Markdown with HTML tables
  5. Render PDFs to images first (the card uses PyMuPDF at 300 DPI), keep save_results off for untrusted documents, and treat extracted text as untrusted before passing it to another model

WeVisOne-VL-4B

  1. Use Tencent's package: WeVisOneVL("tencent/WeVisOne-VL-4B", 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, Baidu Unlimited-OCR-2 or WeVisOne-VL-4B?

WeVisOne-VL-4B scores 61 (C) on agent readiness against Baidu Unlimited-OCR-2's 54.2 (C), and leads in 2 of 4 scored categories. Baidu Unlimited-OCR-2 leads on agent interface.

Other comparisons with Baidu Unlimited-OCR-2 or WeVisOne-VL-4B

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.