Meet rakedoc-nano-2: frontier parsing at a fraction of the price
80.1 on ParseBench, #1 among open-weight models and ahead of every frontier LLM. It reads charts and text formatting, and it still runs on one GPU.
- 80.1 on ParseBench. #1 among open-weight models and fifth overall on the public leaderboard, ahead of every frontier LLM. Up from 77.2 for
rakedoc-nano. - Charts: 64.9 → 71.7. We trained on new kinds of report charts, so the model turns bar, line and pie charts into data it can return as a table.
- Semantic formatting: 71.7 → 80.0. Bold, italic, underline, strikethrough and superscript come through. A struck-out clause or a footnote mark keeps its meaning after parsing.
- Same size, drop-in. Still 1.2B parameters, still one GPU. It is a drop-in replacement for KDL-Frontier-Parser-nano-v2 under vLLM, with merged bf16 weights and no adapter to load.
- Open weights, in production today. On Hugging Face under AGPL-3.0, and already running the Parse step of the CloudRaker Paperwork API.
Two months ago we released rakedoc-nano, the compact vision model behind Parse in the CloudRaker Paperwork API. Today we're releasing rakedoc-nano-2, and it is the best open-weight document parser on ParseBench.
At 1.2B parameters, it scores 80.1 overall. That puts it #1 among open-weight models and fifth on the whole public leaderboard, ahead of every frontier LLM. It still fits on a single GPU.
We focused version 2 on the two things that matter most in real business documents. Charts: a quarterly report or an actuarial filing puts its key numbers in a bar chart, and now the model reads those numbers back as data. Formatting: in a contract, a struck-out clause or a bold defined term carries meaning, and now that meaning survives parsing.
Performance
All scores are on ParseBench, averaged over three full runs on a single GPU.
| Model | Overall | Tables | Charts | Content | Semantic | Grounding |
|---|---|---|---|---|---|---|
| rakedoc-nano-2 | 80.09 | 85.86 | 71.73 | 87.80 | 79.99 | 75.07 |
| KDL-Frontier-Parser-nano-v2 | 79.06 | 85.96 | 69.46 | 87.62 | 76.94 | 75.34 |
| rakedoc-nano (v1, August) | 77.2 | 86.4 | 64.9 | 88.8 | 71.7 | 74.3 |
Against the first rakedoc-nano, the overall score jumps 2.9 points. Charts gain 6.8 points and semantic formatting gains 8.3. Against its KDL v2 base, rakedoc-nano-2 adds a full point overall.
On price, rakedoc-nano-2 sits on the frontier. At $10 per 1,000 pages, it beats Reducto (Agentic) by 9 points at a fifth of the price. It scores 23 to 32 points above AWS Textract, Google Cloud Document AI and Azure Document Intelligence, for the same price or less. Cohere Parse v5 costs less, at $1.50, but scores about 30 points lower. At enterprise volume, rakedoc-nano-2 drops to $5.20 per 1,000 pages.
Set the bar at 80 on ParseBench, and rakedoc-nano-2 is the cheapest way to clear it.
How we trained it
We started from KDL-Frontier-Parser-nano-v2, a stronger base than our first model had, and trained two specialists on top of it:
- Formatting. Reinforcement learning (GRPO) on text recognition, with a reward that checks every bold, italic, underline, strikethrough and superscript mark against the ground truth.
- Charts. A short supervised warm start on synthetic report charts, then GRPO on chart reading with our charts plus ChartQA.
We then merged the two into one set of weights, 70% formatting and 30% charts. Part of the training data is synthdocs, the dataset we open-sourced last week. ParseBench documents were never used for training.
Use it in the API
rakedoc-nano-2 already runs Parse in the Paperwork API. If you use Parse today, you already have it, with no code change. Send a file, get Markdown, structured JSON and bounding boxes back:
curl -X POST https://api.cloudraker.com/v1/parse \
-H "Authorization: Bearer $CLOUDRAKER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file": {"url": "https://example.com/quarterly-report.pdf"}}'
Grab an API key at signup.cloudraker.com. The free tier covers thousands of pages every month. Full reference: docs.cloudraker.com.
Some workflows require documents to stay in the country. For those, we guarantee that inference runs in Canada, at the same price.
Self-host it
The weights are on Hugging Face under AGPL-3.0. Serve them with vLLM on one GPU:
vllm serve cloudraker/rakedoc-nano-2 \
--served-model-name rakedoc-nano-2 \
--trust-remote-code \
--limit-mm-per-prompt '{"image":1}'
If you already serve KDL v2, it is a drop-in replacement: same architecture, same prompts, change the model name.
Send us the documents that break. That is how the next version gets trained.