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

OLMOCR Team
1 มีนาคม 2568
คู่มือติดตั้ง olmOCR บนเครื่อง: แปลง PDF เป็นเรื่องง่าย!
สวัสดีครับเพื่อนๆ ที่ต้องจัดการกับไฟล์ 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
ที่สร้างขึ้น คุณจะเห็นหน้าจอเปรียบเทียบดังนี้ 👇
🧰 การใช้งานขั้นสูง
การประมวลผล 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
❓ คำถามที่พบบ่อย
-
GPU Error? ตรวจสอบ Driver การ์ดจอ และ CUDA Version แนะนำให้ใช้การ์ดจอรุ่นใหม่ๆ เช่น RTX 4090/L40S/A100/H100
-
รองรับ PDF ภาษาไทยไหม? ปัจจุบันเน้นการปรับปรุงสำหรับเอกสารภาษาอังกฤษ แต่สามารถลองใช้กับภาษาอื่นๆ ได้ด้วย Parameter
--apply_filter
-
พื้นที่ Disk ไม่พอ? ควรมีพื้นที่ว่างอย่างน้อย 30GB หากประมวลผลไฟล์ขนาดใหญ่ แนะนำให้ใช้ SSD
👏 ขอขอบคุณ
olmOCR พัฒนาโดย Allen Institute for AI (AI2) ภายใต้ Apache 2.0 License ขอขอบคุณทีมพัฒนา (รายชื่อผู้ร่วมพัฒนาทั้งหมด)
ลองใช้งานกันได้เลย! หากมีคำถามหรือข้อสงสัย สามารถสอบถามได้ที่ Discord Community 🎉