การแยกเอกสาร — จากสแกนเป็นข้อความ
การแยกเอกสาร — จากสแกนเป็นข้อความ — คู่มือที่เข้าใจง่ายอ้างอิงจากเอกสารอย่างเป็นทางการ
ลองนึกภาพว่าคุณยื่นสัญญาฉบับหนึ่งให้เพื่อนร่วมงาน แล้วเขาก็พลิกไปพลิกมาพร้อมกับพูดว่า “นี่มันรูปทั้งเล่มเลย อ่านไม่ออกสักคำ” นั่นแหละคือปัญหาที่เราจะแก้กันในวันนี้ เครื่องมือ read_file ของ Hermes Agent ตอนนี้สามารถ “เปิด” ไฟล์ได้เหมือนมนุษย์แล้ว — เปลี่ยนไฟล์ PDF, เอกสาร Word, ตาราง Excel และแม้แต่ไฟล์ Office รุ่นเก่า ให้กลายเป็นข้อความธรรมดาที่มันเข้าใจได้จริงๆ
สามรูปแบบไฟล์ ไม่ต้องตั้งค่าอะไร
รูปแบบไฟล์ยอดนิยมใช้งานได้ทันที ไม่ต้องติดตั้งอะไรเพิ่ม:
- Jupyter notebooks (
.ipynb) - เอกสาร Word (
.docx) - ตาราง Excel (
.xlsx)
ไฟล์เหล่านี้จะถูกแปลงเป็นข้อความ Markdown และรองรับการอ่านแบบแบ่งหน้าได้ผ่านพารามิเตอร์ offset และ limit — เหมือนกับการพลิกอ่านหนังสือทีละหน้านั่นแหละ
ไฟล์ประเภทอื่นๆ: ติดตั้งให้อัตโนมัติ ไม่ต้องกังวล
สำหรับไฟล์ PDF, ไฟล์ Office รุ่นเก่า (.doc, .ppt, .xls), OpenDocument และหนังสืออิเล็กทรอนิกส์ (.epub) นั้น Hermes จะทำการติดตั้งตัวแปลงชื่อ firecrawl-anydoc ให้อัตโนมัติในการใช้งานครั้งแรก คุณไม่ต้องขยับนิ้วแม้แต่นิดเดียว
ข้อควรระวังอย่างหนึ่ง: ถ้าการตั้งค่าระบบของคุณปิดการติดตั้งอัตโนมัติ (security.allow_lazy_installs ตั้งค่าเป็น false) จะมีแค่สามรูปแบบไฟล์พื้นฐานเท่านั้นที่ใช้งานได้ — ไฟล์ประเภทอื่นๆ ทั้งหมดจะถูกจัดการเป็นไฟล์ไบนารี นอกจากนี้ ไฟล์ที่มีขนาดเกิน 50MB จะถูกปฏิเสธ เพื่อหลีกเลี่ยงเวลาประมวลผลที่นานเกินไป
ใช้ได้กับสภาพแวดล้อมระยะไกลด้วย
ไม่ว่าโค้ดของคุณจะรันบน Docker, Modal หรือเซิร์ฟเวอร์ SSH ระยะไกล ไฟล์ต่างๆ จะถูกโอนกลับมายังเครื่องท้องถิ่นของคุณโดยอัตโนมัติเพื่อทำการแปลง การอ่านเอกสารในแซนด์บ็อกซ์จึงทำงานเหมือนกับการอ่านในเครื่องของคุณเองทุกประการ
คำเตือนสำคัญ: ไฟล์สแกนคือ “PDF ปลอม”
นี่คือกับดัก: การแปลง PDF จะอ่านเฉพาะชั้นข้อความ (text layer) เท่านั้น ถ้า PDF เป็นไฟล์สแกน (สัญญากระดาษ, แฟกซ์, เอกสารที่เซ็นชื่อ) มันก็จะเป็นรูปภาพทั้งหมด — ไม่มีชั้นข้อความ — และผลลัพธ์ที่ได้ก็จะเป็นค่าว่างเปล่า
Hermes ตรวจจับปัญหานี้ได้อย่างชาญฉลาด: ถ้าหน้ามากกว่า 20% ของทั้งหมดไม่มีข้อความ (หรือมากกว่า 10 หน้าขึ้นไป) มันจะเพิ่มคำเตือนไว้ด้านหน้า โดยระบุว่าหน้าไหนบ้างที่ว่างเปล่า และข้อความสุดท้ายที่ปรากฏก่อนหน้านั้นคืออะไร
ตัวอย่างเช่น:
[คำเตือนครอบคลุมการแยกข้อความ: 198 จาก 311 หน้าใน PDF นี้ไม่มีข้อความ...
หน้าที่ 42-77 (36 หน้า) — หลังจาก "Antigua Maintenance Corp Bylaws" (หน้า 41)
หน้าที่ 92-213 (122 หน้า) — หลังจาก "... Covenants, Codes and Regulations" (หน้า 91)]
สองวิธีในการแก้ไข
กรณีที่ 1: มีแค่ไม่กี่หน้าที่เป็นสแกน — ใช้การเรนเดอร์ + วิชัน (vision) แปลงหน้าที่เป็นสแกนให้เป็นรูปภาพ:
pdftoppm -jpeg -r 150 -f 92 -l 94 document.pdf /tmp/page
จากนั้นใช้เครื่องมือ vision_analyze เพื่อ “ดู” รูปภาพเหล่านั้น วิธีนี้ต้องติดตั้งเครื่องมือ poppler บนระบบของคุณ (ซึ่ง Hermes ใช้สำหรับการตรวจจับอยู่แล้ว)
กรณีที่ 2: หน้าส่วนใหญ่เป็นสแกน — ใช้ OCR เพื่อการรู้จำแบบทีละชุด Hermes มีสกิล ocr-and-documents ที่สร้างจาก marker-pdf รองรับมากกว่า 90 ภาษา และจัดการกับสูตรและตารางได้ ต้องใช้พื้นที่ดิสก์ 3–5GB ในการติดตั้ง
สรุป
read_file ช่วยให้ AI อ่านเอกสารรูปแบบทั่วไปได้เกือบทุกประเภท — แต่จำไว้เสมอว่า: PDF ต้องมีชั้นข้อความถึงจะอ่านได้โดยตรง คำแนะนำที่ใช้ได้จริง: ถ้าคุณต้องจัดการกับไฟล์สแกนเป็นประจำ ให้ติดตั้งสกิล OCR ไว้ล่วงหน้า ถ้าเจอหน้่าสแกนแค่ไม่กี่หน้าเป็นครั้งคราว ให้ใช้ pdftoppm แปลงเป็นรูปภาพ + วิเคราะห์ด้วยวิชัน อย่าให้ AI ทำ OCR กับเอกสารทั้งเล่มแบบมั่วๆ — อ่านคำเตือนก่อน แล้วประมวลผลเฉพาะหน้าที่ว่างเปล่าจริงๆ เท่านั้น จะประหยัดทั้งเวลาและแรง
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/features/document-extraction