OpenThai 2.0

โมเดลเปิดหนึ่งเดียวที่อ่านเอกสารและลายมือไทยได้ รู้เรื่องเมืองไทย และทำงานเอเจนต์ได้ — สร้างโดยคนไทย เพื่อคนไทย
openthai2.0-qwen3.8-27b
AI ภาษาไทยแบบครบในตัวเดียว: อ่านเอกสารและลายมือภาษาไทยได้ในระดับโมเดลเฉพาะทาง ตอบคำถามความรู้ไทยเป็นภาษาไทยที่เป็นธรรมชาติและอธิบายเข้าใจง่าย นำทั้งโมเดลฐานและ Typhoon 2.5 ในการใช้เครื่องมือแบบเอเจนต์ (BFCL) — โดยยังคงความฉลาดทั่วไปของโมเดลฐานไว้ครบ
พัฒนาโดย iApp Technology เปิดตัวร่วมกับสมาคมผู้ประกอบการปัญญาประดิษฐ์ประเทศไทย (AIEAT) การเทรนและการวัดผลใช้ GPU NVIDIA H100 จำนวน 8 ใบ ซึ่งได้รับการสนับสนุนจาก บริษัท สยาม เอไอ คอร์เปอเรชั่น จำกัด โมเดลฐาน: Qwen/Qwen3.8-27B (Apache 2.0)
API แบบโฮสต์ให้ฟรี — ใช้ฟรีถึง 30 กันยายน 2569 (ต้องมี iApp API key ฟรี)
ไม่อยากรัน GPU เอง? เราโฮสต์โมเดลให้ Endpoint เป็นแบบ OpenAI-compatible และใช้ฟรีถึง 30 กันยายน 2569 — เพียงมี iApp API key ฟรี: สมัครสมาชิก → API Keys → Create New API Key จำกัดอัตรา 30 คำขอ/นาทีต่อคีย์ หลังหมดช่วงฟรียังใช้ต่อได้ที่อัตรา 0.01 / 0.02 IC ต่อ 1K โทเคนขาเข้า/ขาออก
| Base URL | https://api.iapp.co.th/v3/llm/openthai2p0 |
| Endpoint | POST /chat/completions (OpenAI-compatible) |
| โมเดล | openthai2.0 (เส้นทางนี้ให้บริการโมเดลนี้เสมอ) |
| การยืนยันตัวตน | iApp API key (เฮดเดอร์ apikey หรือ Authorization: Bearer) |
| อินพุต | ข้อความ หรือข้อความ + รูปภาพ (image_url — base64 data URI หรือ URL สาธารณะ สูงสุด 50 MB) |
import base64
from openai import OpenAI
client = OpenAI(base_url="https://api.iapp.co.th/v3/llm/openthai2p0",
api_key="YOUR_IAPP_API_KEY")
# ข้อความ — ถามอะไรก็ได้เป็นภาษาไทย
r = client.chat.completions.create(
model="openthai2.0",
messages=[{"role": "user", "content": "อากรแสตมป์กับภาษีมูลค่าเพิ่มต่างกันอย่างไร"}],
)
print(r.choices[0].message.content)
# ภาพ — อ่านเอกสารภาษาไทย
img = base64.b64encode(open("thai_document.jpg", "rb").read()).decode()
r = client.chat.completions.create(
model="openthai2.0",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
{"type": "text", "text": "อ่านข้อความในเอกสารนี้ทั้งหมด"},
]}],
temperature=0.0,
extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(r.choices[0].message.content)
curl -s https://api.iapp.co.th/v3/llm/openthai2p0/chat/completions \
-H "Content-Type: application/json" -H "apikey: YOUR_IAPP_API_KEY" \
-d '{"model":"openthai2.0","messages":[{"role":"user","content":"สวัสดี"}]}'
อย่าตั้ง max_tokens — โมเดลคิดก่อนตอบ การจำกัดค่าต่ำจะทำให้คำตอบว่าง ปิดโหมดคิดเฉพาะคำขอถอดความรูปภาพตามตัวอย่างด้านบน ฝั่งเซิร์ฟเวอร์ตั้ง repetition_penalty 1.05 ที่แนะนำไว้ให้แล้ว
จุดเด่น
1. อ่านเอกสารและลายมือไทยได้ระดับโมเดลเฉพาะทาง
อัตราความผิดพลาดระดับตัวอักษร (CER) ของลายมือไทยลดจาก 0.649 ของโมเดลฐานเหลือ 0.261 — ความผิดพลาดลดลง 60% หนังสือและราชกิจจานุเบกษา: 0.126 เทียบกับ 0.370 ของโมเดลฐาน (ลดลง 66%) เอกสารสิ่งพิมพ์: 0.077 เทียบกับ 0.103
2. รู้เรื่องเมืองไทย
0.842 บน OpenThaiEval (ข้อสอบระดับชาติของไทย) — สูงกว่าโมเดลฐาน (0.820), Typhoon 2.5 (0.742) และ Pathumma (0.660) การทำตามคำสั่งภาษาไทย (IFEval-TH): 0.795 นำโมเดลฐาน (0.772) และ Typhoon (0.749) เช่นกัน
3. ทำงานเอเจนต์ได้จริง
0.820 บน Berkeley Function-Calling Leaderboard — นำทั้งโมเดลฐาน (0.811) และ Typhoon 2.5 (0.792) โดยทิ้งห่างมากที่สุดในงานเอเจนต์แบบหลายรอบสนทนา (0.775 เทียบกับ 0.550 ของ Typhoon) การเขียนโค้ด (HumanEval): 0.957
4. โมเดลเดียว ไม่ใช่ไปป์ไลน์
เป็นโมเดลเปิดภาษาไทยเพียงตัวเดียวในตารางเหล่านี้ ที่ทั้งอ่านเอกสารได้ระดับโมเดลเฉพาะทาง และ ตอบคำถามเกี่ยวกับเอกสารนั้นได้ในโมเดลเดียวกัน — ไม่ต้องมีขั้น OCR แยก ไม่ต้องส่งต่อระหว่างระบบ ภาพและความรู้อยู่ในน้ำหนักชุดเดียว
5. รันได้ทุกที่ ถอดรหัสได้เร็ว
มีให้เลือก 5 ฟอร์แมต — bf16, GGUF, MLX 4-bit, INT8, NVFP4 — ตั้งแต่ MacBook จนถึงเซิร์ฟเวอร์ NVIDIA Blackwell พร้อมหัวถอดรหัสแบบ multi-token prediction ในตัว เพิ่มความเร็วการถอดรหัส 50% (75.2 เทียบกับ 50.1 โทเคน/วินาที วัดจริงบน H100) โดยผลลัพธ์เหมือนเดิมทุกโทเคน
ผลการวัดประสิทธิภาพ

โมเดลทั้งสี่ตัววัดโดยทีมงานเราบนชุดทดสอบเดียวกัน ภายใต้เงื่อนไขการให้บริการเหมือนกัน โดยแต่ละโมเดลใช้พรอมต์และพารามิเตอร์ที่ผู้พัฒนาแนะนำเอง จึงทำซ้ำการทดลองได้ด้วยเช็กพอยต์ที่ลิงก์ไว้
ความรู้และภาษาไทย (ยิ่งสูงยิ่งดี)
| ชุดทดสอบ | OpenThai 2.0 (27B) | Qwen3.8-27B (ฐาน) | Typhoon 2.5 (30B-A3B) | Pathumma think 3.0 (8B) |
|---|---|---|---|---|
| OpenThaiEval (ข้อสอบระดับชาติ) | 0.842 | 0.820 | 0.742 | 0.660 |
| Code-switching (ไทย↔อังกฤษ)¹ | 0.985 | 0.895 | 0.940 | 0.990 |
| HumanEval (เขียนโค้ด) | 0.957 | 0.939 | 0.957 | 0.805 |
| MMLU-Redux (5.7k, ความรู้รอบตัว) | 0.916 | 0.924 | 0.884 | 0.762 |
| IFEval-TH (ทำตามคำสั่งภาษาไทย) | 0.795 | 0.772 | 0.749 | 0.498 |
| IFEval (ทำตามคำสั่งภาษาอังกฤษ) | 0.914 | 0.902 | 0.846 | 0.630 |
¹ 0.985 กับ 0.990 ต่างกันเพียงหนึ่งตัวอย่างจาก n=200 — ถือว่าเสมอกันทางสถิติ
การอ่านเอกสารและลายมือไทย (อัตราความผิดพลาดระดับตัวอักษร — ยิ่งต่ำยิ่งดี)
| ชุดทดสอบ | OpenThai 2.0 (27B) | Qwen3.8-27B (ฐาน) | Typhoon-OCR 1.5 (2B) | Pathumma-vision 2.0 (7B) |
|---|---|---|---|---|
| Wikisource TH — หนังสือและราชกิจจานุเบกษา (n=608) | 0.126 | 0.370 | 0.271 | 0.931 |
| DocBench — เอกสารราชการ (n=906) | 0.327 | 0.530 | 0.551 | 0.691 |
| SEA-DocBench-TH (n=1,499) | 0.497 | 0.559 | 0.575 | 0.832 |
| ThaiOCRBench (n=2,808) | 0.743 | 0.750 | 0.793 | 0.894 |
| MTVQA-TH — ตัวอักษรในภาพถ่าย (n=231) | 0.819 | 0.737 | 1.000 | 0.905 |
| ลายมือไทย — text-disjoint (n=916) | 0.261 | 0.649 | 0.054 | 0.821 |
| OCR-Eval-104 — สิ่งพิมพ์ (n=104) | 0.077 | 0.103 | 0.014 | 0.352 |
อ่านผลอย่างตรงไปตรงมา: Typhoon-OCR 1.5 เป็นโมเดลถอดความเฉพาะทางที่ยอดเยี่ยม — บนบรรทัดสิ่งพิมพ์สะอาดและลายมือแยกส่วน มันชนะทุกโมเดลในตารางนี้รวมถึงโมเดลของเรา แต่มันก็ทำได้เพียงถอดความ: รับพรอมต์ OCR แบบตายตัวเพียงรูปแบบเดียว คำถามถาม-ตอบจากเอกสารและตัวอักษรในภาพถ่ายจึงผิดเกือบทั้งหมด และไม่มีความสามารถด้านความรู้หรือผู้ช่วย OpenThai 2.0 นำในการอ่านหนังสือและราชกิจจานุเบกษา ความรู้ไทย และการทำตามคำสั่ง ส่วนตัวอักษรในภาพถ่ายเป็นด้านที่อ่อนที่สุด — ภาพป้ายหรือหน้าร้าน แนะนำใช้โมเดลฐานหรือโมเดลเฉพาะทาง scene text