OpenThai 2.0 — one open model that reads Thai documents, knows Thailand, and does agentic work

Today, together with the Artificial Intelligence Entrepreneur Association of Thailand (AIEAT), we are releasing OpenThai 2.0 — an open-source Thai vision-language model, 27B parameters, Apache 2.0, weights free on Hugging Face.
One month ago we released OpenThai 2.0 Legal, a specialist that knows Thai law by heart. OpenThai 2.0 is its generalist sibling, and the bigger release of the two: a single model that reads Thai documents and handwriting at specialist level, answers Thai knowledge questions in natural Thai, and calls tools reliably enough to run agents — while keeping its base model's general intelligence.
Model page: iapp.co.th/openmodels/openthai2p0 · Weights: huggingface.co/iapp/openthai2.0-qwen3.8-27b · Try it free, no install: chinda3.iapp.co.th
Why one model matters
Every production Thai document system today is a pipeline: an OCR engine that reads but cannot think, feeding a language model that thinks but cannot read. Each hand-off loses layout, context and confidence — and neither half can check the other.
OpenThai 2.0 is both halves in one set of weights. Show it a Royal Gazette page and it transcribes it. Ask it a question about that page and it answers, in explanatory Thai. Give it tools and it files the result. It is the only Thai open model we measured that reads documents at specialist level and answers questions about them in the same model.
The numbers
All results measured by us, every model on the same suite under identical serving conditions, each with its own recommended prompts — repeatable with the public checkpoints. Full tables and per-category results are on the model page and in the Hugging Face repository.
Reading Thai (character error rate — lower is better):
| Track | OpenThai 2.0 | Base Qwen3.8-27B |
|---|---|---|
| Thai handwriting (n=916) | 0.261 | 0.649 |
| Books and Royal Gazette (n=608) | 0.126 | 0.370 |
| Government documents (n=906) | 0.327 | 0.530 |
| Printed documents (n=104) | 0.077 | 0.103 |
A 60% error reduction on handwriting and 66% on books and gazette pages. On a held-out handwriting sample the base model reads "เชียงราย" as "3.1.4 การจ่าย" — total error. OpenThai 2.0 reads it exactly.
Thai knowledge and instruction-following (higher is better):
| Track | OpenThai 2.0 | Base | Typhoon 2.5 | Pathumma 3.0 |
|---|---|---|---|---|
| OpenThaiEval — Thai national exams | 0.842 | 0.820 | 0.742 | 0.660 |
| IFEval-TH — Thai instruction-following | 0.795 | 0.772 | 0.749 | 0.498 |
| HumanEval — coding | 0.957 | 0.939 | 0.957 | 0.805 |
Agentic tool use, official BFCL harness (3,841 cases):
| Track | OpenThai 2.0 | Base | Typhoon 2.5 |
|---|---|---|---|
| BFCL overall | 0.820 | 0.811 | 0.792 |
| Multi-turn agentic episodes | 0.775 | 0.750 | 0.550 |
Thai fine-tuning usually costs capability elsewhere. Here it did not: the model leads its base on tool use and coding while gaining its Thai skills, and gives up only 0.008 on world knowledge (MMLU-Redux 0.916 versus 0.924).
We publish the losses too: a dedicated transcription specialist (Typhoon-OCR 1.5) still wins on clean printed lines and isolated handwriting, scene text remains the weakest reading track, and structured table extraction is at parity with the base model — the full comparison, with every number, is on the model page.
Five formats, one licence
Apache 2.0 — commercial use, modification and redistribution allowed, no gated access.
| Format | Runs on |
|---|---|
| bf16 | vLLM / transformers, one 80 GB GPU |
| GGUF Q4_K_M / Q8_0 | llama.cpp, CPU or consumer GPU (17 / 29 GB) |
| MLX 4-bit | Apple silicon, 24 GB+ unified memory |
| INT8 W8A8 | vLLM, ~40 GB-class GPUs |
| NVFP4 | vLLM, NVIDIA Blackwell |
The checkpoint also ships a multi-token-prediction draft head: vLLM runs self-speculative decoding at 75.2 tokens/s versus 50.1 without it (+50%, measured on H100), with token-identical outputs. Nothing leaves your infrastructure — the model runs entirely on your own hardware.
Trained on verified data only
Three stages of LoRA fine-tuning on ~143,000 rows, every one of them machine-verified: transcriptions checked against human-confirmed ground truth, knowledge chains leak-checked against the evaluation sets, and instruction data kept only when the answer passed a programmatic constraint check. The handwriting benchmark is text-disjoint — no transcription string in training appears in the test set — so the numbers above measure reading, not memorisation.
Training and evaluation ran on 8× NVIDIA H100 GPUs provided by Siam AI Corporation — thank you for backing open Thai AI.
Get started
The fastest path is the browser: chinda3.iapp.co.th — free, no install, upload a Thai document and ask.
Prefer an API call? The hosted endpoint is free until 30 September 2026 with any free iApp API key — OpenAI-compatible at https://api.iapp.co.th/v3/llm/openthai2p0, text and vision, 30 requests/minute (details on the model page).
To self-host:
vllm serve iapp/openthai2.0-qwen3.8-27b \
--max-model-len 32768 --gpu-memory-utilization 0.85 \
--max-num-seqs 128 --reasoning-parser qwen3 --trust-remote-code
The model page has the full benchmark tables, deployment notes that will save you an afternoon (--max-num-seqs 128 is mandatory; leave max_tokens unset), the quantised repositories, and the honest limitations list. For legal work, pair it with our purpose-built OpenThai 2.0 Legal.
Built by iApp Technology, launched jointly with AIEAT — by Thais, for Thailand.