วิธีใช้ OpenThai 2.0 OCR Text และ OCR Markdown บน Windows, Mac และ Linux
คู่มือติดตั้งและใช้งานโมเดล OCR ภาษาไทยแบบเปิด 2 ตัวจาก iApp Technology ที่ดาวน์โหลดมารันบนเครื่องตัวเองได้ อ่านเอกสารเป็นข้อความหรือ Markdown พร้อมตาราง เอกสารไม่ออกจากเครื่อง
คัดมาจาก Telegram · อัปเดต 13 พ.ย. 2569

ส่วนประกอบ
ocr · thai-ai · vision · on-device · open-source
OpenThai 2.0 OCR Text และ OCR Markdown
โมเดล OCR ภาษาไทยแบบเปิด 2 ตัวที่ดาวน์โหลดมารันบนเครื่องตัวเองได้ เอกสารไม่ต้องส่งออกไปไหน
เลือกใช้โมเดลไหน
OpenThai 2.0 OCR Text (4 MB)
- ผลลัพธ์: ข้อความของหน้าตามลำดับการอ่าน พร้อมกรอบและค่าความมั่นใจของทุกบรรทัด
- รันบน: CPU ใดก็ได้ ไม่ต้องใช้ GPU
- ความเร็ว: ราว 0.5 วินาทีต่อหน้าบน Mac ชิป M3 Max
- สัญญาอนุญาต: Apache-2.0
- เหมาะสำหรับ: ดึงข้อความเพื่อค้นหา ดึงข้อความจากเอกสารสแกน หรือส่งต่อให้แชตบอต
OpenThai 2.0 OCR Markdown (2.5 GB)
- ผลลัพธ์: Markdown โดยเขียนตารางเป็น HTML (รองรับ rowspan และ colspan) พร้อมกรอบและประเภทของทุกบล็อก
- รันบน: GPU ของ NVIDIA (เร็วที่สุด), Mac ชิป Apple silicon หรือ CPU (ช้ามาก)
- ความเร็ว: 1.6 วินาทีต่อหน้าบน NVIDIA H100 หนึ่งใบ, 15 ถึง 27 วินาทีต่อหน้าบน Mac ชิป M3 Max
- สัญญาอนุญาต: OpenMDW-1.1
- เหมาะสำหรับ: เมื่อรูปแบบหน้าสำคัญ โดยเฉพาะตาราง ที่ตัวเลขต้องอยู่ในแถวและคอลัมน์เดิม
เปรียบเทียบโมเดล OCR
OCR Text
- ขนาดเพียง 4 MB
- รันบน CPU ใดก็ได้
- เร็วมาก (~0.5 วินาที/หน้า)
- ใช้งานง่าย
- ได้แค่ข้อความล้วน
- ไม่เก็บโครงสร้างตาราง
OCR Markdown
- เก็บโครงสร้างหน้า
- รองรับตารางซับซ้อน
- แปลงเป็น Markdown
- ขนาด 2.5 GB
- ต้องใช้ GPU หรือช้ามาก
- ซับซ้อนกว่า
ก่อนเริ่ม: ติดตั้ง Python
ทั้งสองโมเดลต้องใช้ Python 3.10 ขึ้นไป (ทดสอบด้วย Python 3.13 บน macOS และ Python 3.12 บน Ubuntu 24.04)
Windows: ดาวน์โหลด Python 3.13 จาก python.org แล้วรันตัวติดตั้ง ในหน้าแรกให้ติ๊ก "Add python.exe to PATH" จากนั้นเปิด Command Prompt (กดปุ่ม Windows แล้วพิมพ์ cmd)
Mac: ติดตั้ง Python 3.13 จาก python.org หรือด้วย Homebrew:
brew install python@3.13
Linux: บน Ubuntu หรือ Debian:
sudo apt install python3 python3-venv python3-pip
วิธีใช้ OCR Text
1. สร้างโฟลเดอร์และสภาพแวดล้อม Python
Windows:
mkdir thai-ocr
cd thai-ocr
py -m venv .venv
.venv\Scripts\activate
Mac และ Linux:
mkdir thai-ocr
cd thai-ocr
python3 -m venv .venv
source .venv/bin/activate
2. ติดตั้งแพ็กเกจและดาวน์โหลดโมเดล
pip install onnxruntime opencv-python-headless pyclipper numpy pillow pypdfium2 huggingface_hub
hf download iapp/OpenThai2.0-OCR-Text --local-dir OpenThai2.0-OCR-Text
โมเดลมีสองไฟล์ ขนาด 1.8 MB และ 2.4 MB พร้อมโค้ดสำหรับอ่าน อยู่ในโฟลเดอร์ OpenThai2.0-OCR-Text
หมายเหตุ: Windows on Arm (RTX Spark และเครื่อง Arm อื่น) แพ็กเกจ opencv-python-headless และ pyclipper ยังไม่มีรุ่นสำหรับ Windows on Arm ทางเลือกคือติดตั้ง Python รุ่น x64 จาก python.org (ช้ากว่า) หรือใช้ Chinda Bot
3. บันทึกสคริปต์
บันทึกโค้ดที่ให้มาเป็นไฟล์ ocr_text.py ในโฟลเดอร์ thai-ocr
4. อ่านเอกสาร
python ocr_text.py document.pdf
สคริปต์จะแสดงข้อความและบันทึกเป็นไฟล์ document.pdf.txt รองรับทั้ง PDF และรูปภาพ (PNG, JPG และรูปแบบทั่วไปอื่น) ใส่หลายไฟล์พร้อมกันได้
หมายเหตุ:
- ใช้ได้ทั้ง PDF จากการสแกนและ PDF ที่มีข้อความ เพราะทุกหน้าถูกวาดเป็นรูปแล้วอ่าน
- ถ้ามีหลายพันหน้า ให้เปลี่ยน
threads=2เป็นthreads=1แล้วรันสคริปต์หนึ่งชุดต่อหนึ่งคอร์ของ CPU โดยแบ่งไฟล์กันไป ในโปรเซสเดียว การเพิ่มเธรดเร็วขึ้นได้แค่ราวสองคอร์ วัดไว้ราว 950 หน้าต่อนาทีบนเซิร์ฟเวอร์ 8 คอร์
วิธีใช้ OCR Markdown
บน Mac (M1 ขึ่นไป)
Mac ชิป Apple silicon รันโมเดลบน GPU ของเครื่องได้ สร้างสภาพแวดล้อมแบบขั้นที่ 1 ของ OCR Text (ใช้โฟลเดอร์ใหม่ก็ได้) แล้วรัน:
pip install huggingface_hub pypdfium2
hf download iapp/OpenThai2.0-OCR-Markdown --local-dir OpenThai2.0-OCR-Markdown
pip install -e ./OpenThai2.0-OCR-Markdown
python ocr_markdown.py document.pdf
บน M3 Max หน้าตารางใช้เวลา 15.5 วินาที และหน้าข้อความเต็มหน้าใช้ 26.7 วินาที
บน Linux ด้วย GPU NVIDIA (เร็วที่สุด)
รันโมเดลเป็นเซิร์ฟเวอร์ด้วย vLLM แบบเดียวกับที่ API ของเราใช้:
pip install huggingface_hub pypdfium2
hf download iapp/OpenThai2.0-OCR-Markdown --local-dir OpenThai2.0-OCR-Markdown
pip install vllm==0.26.0
pip install -e ./OpenThai2.0-OCR-Markdown
เปิดเซิร์ฟเวอร์:
vllm serve ./OpenThai2.0-OCR-Markdown --served-model-name nemotron-parse --trust-remote-code
เปิดเทอร์มินัลที่สองในโฟลเดอร์เดียวกัน เปิดใช้สภาพแวดล้อม บันทึกสคริปต์ แล้วรัน:
python ocr_markdown.py document.pdf --server http://localhost:8000/v1
บน H100 หนึ่งใบใช้เวลาราว 1.6 วินาทีต่อหน้า และเซิร์ฟเวอร์อ่านได้หลายหน้าพร้อมกันถ้าส่งเข้าไปพร้อมกัน API ของเราใช้หน่วยความจำ GPU ราว 8 GB สำหรับโมเดลนี้
บน Windows
ถ้ามี GPU ของ NVIDIA: ใช้ WSL 2 เปิด PowerShell แบบ administrator แล้วรัน:
wsl --install -d Ubuntu-24.04
รีสตาร์ตเมื่อระบบขอ เปิด Ubuntu จากเมนู Start แล้วทำตามขั้นตอนของ Linux
ถ้าไม่มี GPU ของ NVIDIA: ใช้ OCR Markdown API ของ iApp หรือใช้ Chinda Bot สำหรับข้อความล้วน
ทางเลือกง่าย ๆ: Chinda Bot
ไม่ต้องเขียนโค้ด — Chinda Bot ผู้ช่วยบนเดสก์ท็อปที่ใช้ได้ฟรีของเรา มี OCR Text อยู่ในตัวแล้ว แนบไฟล์ PDF ด้วยปุ่มคลิปหนีบหรือลากมาวางในแชท ทุกหน้าจะถูกอ่านบนเครื่องของคุณ คลิกที่ชื่อไฟล์เพื่อดูและคัดลอกข้อความที่อ่านได้
Chinda Bot ใช้ได้บน Mac ชิป Apple silicon, เครื่อง Windows (Intel หรือ AMD และ Windows on Arm) และ Linux arm64 อ่านเป็นบรรทัดข้อความเท่านั้น ถ้าต้องการให้ตารางยังเป็นตารางให้ใช้ OCR Markdown
