31 คะแนน โดย GN⁺ 2024-12-14 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เครื่องมือยูทิลิตีสำหรับแปลงไฟล์หลากหลายประเภทเป็น Markdown
  • รูปแบบที่รองรับ:
    • PDF (.pdf), PowerPoint (.pptx), Word (.docx), Excel (.xlsx)
    • รูปภาพ (ข้อมูลเมตา EXIF และ OCR), เสียง (ข้อมูลเมตา EXIF และการถอดเสียง)
    • HTML (มีการจัดการเป็นพิเศษโดยเฉพาะกับ Wikipedia เป็นต้น) และรูปแบบที่อิงข้อความอื่น ๆ อีกหลากหลาย (csv, json, xml เป็นต้น)
  • วิธีใช้งาน API นั้นง่าย:
    from markitdown import MarkItDown  
    markitdown = MarkItDown()  
    result = markitdown.convert("test.xlsx")  
    print(result.text_content)  
    

2 ความคิดเห็น

 
kandk 2024-12-16

โอ้ ดูเหมือนว่าภายในไมโครซอฟท์เองก็กำลังจะทำให้มันเป็นโอเพนซอร์สเหมือนกันนะ?

 
GN⁺ 2024-12-14
ความเห็นจาก Hacker News
  • หากติดตั้ง uv ไว้แล้ว สามารถรันกับไฟล์ได้ด้วยคำสั่ง uvx markitdown path-to-file.pdf โดยไม่ต้องติดตั้งเพิ่มเติม

    • ตอนรันครั้งแรกจะ cache แพ็กเกจที่จำเป็นไว้ และครั้งถัดไปจะนำแพ็กเกจที่ cache ไว้มาใช้ซ้ำ
    • จากที่ลองกับ HTML และ PDF พบว่าทำงานได้ค่อนข้างดี
  • เคยมีประสบการณ์พัฒนาฟีเจอร์แปลงไฟล์เป็นข้อความที่เป็นมิตรกับ LLM ในบริษัท

    • พอได้อ่านซอร์สโค้ดแล้ว รู้สึกว่า implementation นี้ค่อนข้างสมเหตุสมผล
    • ไม่แนะนำให้ใช้กับรูปภาพหรือสเปรดชีต
    • สำหรับรูปภาพสามารถส่งตรงให้ผู้ให้บริการ LLM ได้ ส่วนสเปรดชีตนั้น LLM ยังตีความตาราง Markdown ได้ไม่ค่อยดี
  • มีทั้งสตาร์ตอัปและโปรเจกต์โอเพนซอร์สมากมายที่ทำให้พื้นที่นี้ซับซ้อนขึ้น แต่เป้าหมายสุดท้ายคือโปรเจกต์ที่เรียบง่าย เข้าใจง่าย และ deploy ได้ง่าย

  • ในการจัดการ PDF อยากให้มีฟีเจอร์ที่ปรับได้ว่า "ต้องการประมวลผลมากแค่ไหน"

    • เวลา extract ข้อความจาก PDF มักต้องใช้ heuristic ที่ไวต่อวิธี export PDF หรือไม่ก็ต้องใช้ OCR แบบเต็มรูปแบบ
    • การที่โปรเจกต์ยึดติดกับวิธีเดียวค่อนข้างไม่สะดวก
    • จะไม่ใช้ฟีเจอร์ speech-to-text เพราะลักษณะสมรรถนะต่างจากฟีเจอร์ text-to-text
  • สำหรับการจัดการ PDF การ integrate PDFMiner โดยตรงอาจจะดีกว่า

  • สามารถใช้ Pandoc แปลงไฟล์ .docx เป็น Markdown และไฟล์ฟอร์แมตอื่น ๆ ได้

    • Pandoc ไม่สามารถแปลงไฟล์ PowerPoint และ Excel ได้
  • เคยทำดัชนีหนังสือ tabletop RPG ในรูปแบบ PDF ที่มีเลย์เอาต์ภาพซับซ้อนและมีตารางจำนวนมาก

    • ถ้าเป็นเพียง wrapper ของ PDFMiner ก็ยังไม่เห็นคุณค่าเพิ่มเติมของเครื่องมือนี้
    • มันไม่รู้จักหรือจัดการตาราง แต่ก็ยังพอรู้จัก cell ของตารางแบบพื้นฐานได้บ้าง
    • จัดการคอลัมน์ความกว้างแปรผันหรือข้อความที่ตัดบรรทัดในรูปแบบซับซ้อนได้ดี
    • แต่จะใส่ช่องว่างเกินมาในข้อความที่จัดแนวสมบูรณ์อยู่แล้ว และเพิ่มการขึ้นบรรทัดใหม่ที่ไม่จำเป็นเมื่อมีการแบ่งคอลัมน์กลางประโยค
    • ปัญหาใหญ่ที่สุดคือพลาดหัวข้อไปทั้งหมด
  • ค่อนข้างไม่คาดคิดแต่ถือว่าเป็นเรื่องดีที่ README ไม่ได้พูดถึง LLM เลย

    • การอ่านโค้ดน่าสนใจดี
    • ส่วนใหญ่เป็น glue code ที่อยู่ในไฟล์เดียวความยาว 1101 บรรทัด
  • แชร์ประสบการณ์จากตอนส่งการบ้านผ่าน Slack ในคลาสเรียนภาษาออนไลน์

    • ส่งการบ้านเป็นไฟล์ .md แต่ครูไม่เข้าใจว่ามันคืออะไร
    • หลังจากนั้นก็ไม่คิดว่าจะได้เจอคนที่ชอบเอกสาร Word มากกว่าอีก
  • สงสัยว่าเมื่อเทียบกับ docling แล้วเป็นอย่างไร

    • docling ใช้ LLM
  • อยากรู้ว่ามีไลบรารีที่ดีสำหรับแปลง Markdown เป็น PDF หรือ .docx หรือไม่

    • Pandoc ทำได้ในกรณีส่วนใหญ่ แต่จะมีปัญหากับบางอย่าง เช่น ตาราง
  • ถ้าเป็น Microsoft ก็น่าจะทำผลลัพธ์จาก Outlook HTML และ .docx ให้ออกมาดีพอใช้ได้อย่างน้อยครึ่งหนึ่ง

    • เคยประเมินโซลูชันแบบเสียเงินมาหลายตัวเหมือนกัน แต่ยังไม่เจออันไหนที่คิดว่าดีพอจะเอาไปรันใน production
    • น่าจะลองใช้เครื่องมือนี้ดู