Head to head · OCR · October 2026 research run

LightOnOCR-3-4B vs Baidu Unlimited-OCR-2

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

Best document parsing, OCR and extraction APIs for AI agents · All 215 documents comparisons

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

Which one, for what

LightOnOCR-3-4B C

Best for Agents that need located, labelled document blocks from a model they can use commercially without conditions

Ahead on

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

Watch for

BF16 only, with no GGUF or other quantised build of this model

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

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 LightOnOCR-3-4B +15

LightOnOCR-3-4B 70

Memory 30, the only build from LightOn is the BF16 safetensors file, 9.08 GB, and 9.08 GB × 1.2 = 10.9 GB, within 16 GB. No runtime library has a build of this model. Runtimes 15, the architecture is Qwen3_5ForConditionalGeneration, 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, LightOn publishes the BF16 weights only. Terms 15, Apache 2.0, OSI-approved, with nothing added, in the card's metadata and licence section. 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, and the card names no hosted API for it. 30 + 15 + 0 + 15 + 10 + 0 = 70.

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.

Risk LightOnOCR-3-4B +10

LightOnOCR-3-4B 55

File safety 25, one safetensors file, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, the files sit in the lightonai organisation, which the Hub marks as verified and LightOn's GitHub repository for the models 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 GitHub README. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, or on safeguards to add. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, and nothing is added on the card. Security programme 0, no way to report a flaw found on the card or in the GitHub README. lighton.ai couldn't be read for a security.txt. 25 + 15 + 0 + 0 + 15 + 0 = 55.

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.

Agent interface Baidu Unlimited-OCR-2 +5

LightOnOCR-3-4B 70

Chat template 20, chat_template.jinja in the repository (7,759 characters), Qwen 3.5's template with thinking off by default. Tool-calling format 25, Read for a document parser as what it takes and returns. Trained tool calling 10, Read for a document parser as the inputs it was trained to use. Structured output 15, Read for a document parser as typed outputs. Reasoning control 0, the card says it was trained and evaluated with thinking off, the template's default, and documents no thinking mode. Context 0, LightOn states no context length for it. 20 + 25 + 10 + 15 + 0 + 0 = 70.

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.

Score by category

CategoryWeight this runLightOnOCR-3-4BBaidu Unlimited-OCR-2Edge
Capability35%pendingpendingpendingnot scored in this run
Reach25%257055LightOnOCR-3-4B +15
Risk20%205545LightOnOCR-3-4B +10
Agent interface10%107075Baidu Unlimited-OCR-2 +5
Documentation and upkeep10%105150LightOnOCR-3-4B +1
Negative events≤1500
TotalC 61/100C 54.2/100

Facts side by side

FactLightOnOCR-3-4BBaidu Unlimited-OCR-2
KindOpen-weight modelOpen-weight model
VendorLightOnBaidu
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0MIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu)
Read-only variant documentednono
llms.txtnono
Last release2026-10-092026-10-26
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked

How the scores have moved

Verdicts

LightOnOCR-3-4B

A well-documented OCR model under plain Apache 2.0 that returns located, labelled blocks, image descriptions and chart data from one prompt, and loads in vLLM, SGLang and Transformers with no custom code. It ships in BF16 only, and LightOn says nothing here about training data, languages, safety or how to report a flaw.

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.

Before you call either

LightOnOCR-3-4B

  1. Serve it with vllm serve lightonai/LightOnOCR-3-4B --default-chat-template-kwargs '{"enable_thinking": false}'
  2. Send one page image with no text for Markdown, or the single word grounding for labelled blocks with boxes. Nothing else is in distribution
  3. Render PDFs at 400 DPI and resize to a longest edge of 2,048 pixels
  4. Boxes are on a 0 to 1,000 scale, so scale them to the image yourself
  5. Use temperature 0.2 and top_p 0.9, and allow 4,096 output tokens a page
  6. Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page

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

Questions

Which is better for AI agents, LightOnOCR-3-4B or Baidu Unlimited-OCR-2?

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

Other comparisons with LightOnOCR-3-4B or Baidu Unlimited-OCR-2

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.