คู่มือติดตั้ง olmOCR บนเครื่อง: แปลง PDF เป็นเรื่องง่าย!

คู่มือติดตั้ง olmOCR บนเครื่อง: แปลง PDF เป็นเรื่องง่าย!

Author

OLMOCR Team

1 มีนาคม 2568

คู่มือติดตั้ง olmOCR บนเครื่อง: แปลง PDF เป็นเรื่องง่าย!

olmOCR Logo

สวัสดีครับเพื่อนๆ ที่ต้องจัดการกับไฟล์ PDF! วันนี้ผมจะมาแนะนำเครื่องมือสุดเจ๋งที่ชื่อว่า olmOCR ซึ่งจะช่วยให้ Language Model สามารถอ่านไฟล์ PDF ที่มีการจัดรูปแบบแปลกๆ ได้อย่างง่ายดาย! ไม่ว่าจะเป็นเอกสารวิชาการหรือตารางที่ซับซ้อน ก็สามารถจัดการได้หมด ที่สำคัญคือรองรับการติดตั้งบนเครื่อง (Local Deployment) ทำให้มั่นใจได้ในเรื่องความปลอดภัยของข้อมูล! เรามาดูขั้นตอนการติดตั้งและใช้งานไปพร้อมๆ กันเลยครับ 👇


🛠️ เตรียมความพร้อม: ติดตั้ง Dependencies

เริ่มต้นด้วยการติดตั้ง Dependencies ระดับ System (ตัวอย่างสำหรับ Ubuntu):

# ติดตั้ง Dependencies ทั้งหมด
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 เคล็ดลับ: ระหว่างการติดตั้ง หากเจอข้อตกลงสิทธิ์การใช้งานฟอนต์ ให้กดปุ่ม TAB เพื่อเลือก <Yes> แล้วกด Enter!


🌱 สร้าง Python Environment

แนะนำให้ใช้ conda ในการจัดการ Environment:

conda create -n olmocr python=3.11
conda activate olmocr

# โคลน Repository และติดตั้ง
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ ติดตั้งส่วนเสริมเพื่อเพิ่มความเร็ว

หากต้องการใช้ GPU ในการเร่งความเร็ว:

pip install sgl-kernel==0.0.3.post1 --force-reinstall --no-deps
pip install "sglang[all]==0.4.2" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/

🚀 ทดลองใช้งาน: แปลงไฟล์ PDF

แปลงไฟล์เดียว

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf

แปลงหลายไฟล์

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf

ผลลัพธ์การแปลงจะถูกบันทึกไว้ในไฟล์ JSONL ในไดเรกทอรี ./localworkspace/results ดูผลลัพธ์ได้ด้วยคำสั่ง:

cat localworkspace/results/output_*.jsonl

👀 เปรียบเทียบผลลัพธ์ด้วย Visualization

หากต้องการเปรียบเทียบไฟล์ PDF ต้นฉบับกับผลลัพธ์การแปลง:

python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl

เปิดไฟล์ HTML ในไดเรกทอรี dolma_previews ที่สร้างขึ้น คุณจะเห็นหน้าจอเปรียบเทียบดังนี้ 👇

ตัวอย่าง Visualization


🧰 การใช้งานขั้นสูง

การประมวลผล PDF จำนวนมาก

สำหรับการประมวลผล PDF จำนวนมากในระดับองค์กร สามารถใช้ AWS Cluster:

# เริ่มต้นโหนดแรก
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# โหนดอื่นๆ เข้าร่วม Cluster
python -m olmocr.pipeline s3://my_bucket/workspace

ดู Parameters ทั้งหมด

python -m olmocr.pipeline --help

💻 สำหรับผู้ใช้ Docker

มี Dockerfile ให้ใช้งาน:

FROM allenai/olmocr-inference:latest
# ดูรายละเอียดการใช้งานได้ที่
# ลิงก์:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ คำถามที่พบบ่อย

  1. GPU Error? ตรวจสอบ Driver การ์ดจอ และ CUDA Version แนะนำให้ใช้การ์ดจอรุ่นใหม่ๆ เช่น RTX 4090/L40S/A100/H100

  2. รองรับ PDF ภาษาไทยไหม? ปัจจุบันเน้นการปรับปรุงสำหรับเอกสารภาษาอังกฤษ แต่สามารถลองใช้กับภาษาอื่นๆ ได้ด้วย Parameter --apply_filter

  3. พื้นที่ Disk ไม่พอ? ควรมีพื้นที่ว่างอย่างน้อย 30GB หากประมวลผลไฟล์ขนาดใหญ่ แนะนำให้ใช้ SSD


👏 ขอขอบคุณ

olmOCR พัฒนาโดย Allen Institute for AI (AI2) ภายใต้ Apache 2.0 License ขอขอบคุณทีมพัฒนา (รายชื่อผู้ร่วมพัฒนาทั้งหมด)

ลองใช้งานกันได้เลย! หากมีคำถามหรือข้อสงสัย สามารถสอบถามได้ที่ Discord Community 🎉