Berhenti Membangun Pipeline RAG Seperti Ini... Gunakan MarkItDown

BBetter Stack
์ปดํ“จํ„ฐ/์†Œํ”„ํŠธ์›จ์–ดAI/๋ฏธ๋ž˜๊ธฐ์ˆ 

Transcript

00:00:00Kita menghabiskan waktu lebih banyak untuk memproses dokumen daripada benar-benar membangun aplikasi AI kita.
00:00:05Kita menghubungkan banyak pustaka, akhirnya mendapatkan PDF ke dalam alur kerja, dan LLM masih memberikan jawaban yang buruk.
00:00:11Bukan karena modelnya yang buruk, tetapi karena markdown-nya.
00:00:14Ini adalah MarkItDown.
00:00:16Alat dari Microsoft yang meledak dengan lebih dari 110.000 bintang di GitHub,
00:00:21dan alat ini memperbaiki seluruh alur kerja hanya dalam satu baris kode.
00:00:24Saya akan menunjukkan cara kerjanya dalam beberapa menit saja.
00:00:30[Musik]
00:00:33Oke, sekarang pada dasarnya setiap proyek AI dimulai dengan cara yang sama.
00:00:36Anda punya file di mana-mana, dokumen Word, slide, spreadsheet, tangkapan layar PDF, mungkin bahkan file audio.
00:00:43Lalu tibalah bagian kerennya, yang disukai oleh kita para pengembang.
00:00:46Kita bisa mulai menumpuk alat-alat.
00:00:49Jadi kita akan memiliki alat untuk PDF, alat untuk Excel, untuk Word, bukan?
00:00:54Semua pustaka ini yang kita tautkan bersama untuk membantu kita membangun alur kerja ini.
00:00:59Awalnya terasa baik-baik saja, berhasil, tentu saja.
00:01:02Kemudian semuanya mulai rusak.
00:01:04Tabel kehilangan struktur, judul menghilang, dan penggunaan token tentu saja mulai membengkak.
00:01:10Dan sekarang alur RAG pada dasarnya hanya menarik sampah dan agen memberikan jawaban yang buruk.
00:01:16Dan kita malah men-debug proses ingestion alih-alih benar-benar merilis produk.
00:01:19Dan sebenarnya, apa gunanya ini?
00:01:21Ini hanya membuang-buang waktu.
00:01:22Bukan menit, tapi jam setiap minggunya.
00:01:25Jadi alih-alih memperbaiki model Anda, Anda sebenarnya perlu memperbaiki input Anda.
00:01:29Biar saya tunjukkan seperti apa itu sebenarnya.
00:01:31Jika Anda menyukai alat untuk mempercepat alur kerja Anda, pastikan untuk berlangganan.
00:01:35Kami memiliki video yang dirilis sepanjang waktu.
00:01:37Baik, sekarang biar saya jalankan ini dengan cepat.
00:01:39Semuanya menggunakan Python, jadi cukup sederhana.
00:01:42Pertama, saya menginstal semuanya melalui pip di lingkungan virtual saya.
00:01:45Saya punya file PDF di sini, hanya doc.pdf.
00:01:48Dan saya bisa menjalankannya di terminal saya.
00:01:50Saya akan menjalankan markitdown doc.pdf output.md.
00:01:55Itu saja.
00:01:56Itu membuatkan saya file secara otomatis.
00:01:58Kita bisa membuka file itu dan di dalamnya ada apa yang kita harapkan di sini.
00:02:03Judul-judulnya bersih, tabel benar-benar terlihat seperti tabel, strukturnya tetap terjaga.
00:02:08Dan sekarang saat kita menulis kode Python untuk ini, kita bisa melakukan lebih banyak hal lagi dengannya.
00:02:13Jadi dengan impor saya dan menggunakan OpenAI, saya bisa membuat klien dan kemudian objek markdown.
00:02:20Saya akan memasukkan kunci API saya dan model yang ingin kita jalankan.
00:02:25Saat saya menjalankan kodenya, outputnya dihasilkan di terminal saya, jadi sangat bersih.
00:02:29Dan yang lebih baik lagi, yang sangat keren adalah saya bisa mendapatkan gambar PNG.
00:02:33Untuk ini, saya punya grafik dari NVIDIA.
00:02:35Ini gambar saya dengan beberapa data di dalamnya.
00:02:39Sekarang saya bisa mengubah grafik itu menjadi markdown.
00:02:42Jadi saya bisa membiarkan MarkItDown melakukan tugasnya, hanya dengan menggunakan fungsi convert lagi.
00:02:47Kali ini kita berikan gambar kita, PNG kita.
00:02:50Dan di sini sekarang kita mendapatkan ringkasan tentang apa grafik itu dan apa yang bisa kita ekstrak dan gunakan untuk RAG.
00:02:56Ini sangat besar, karena sekarang memungkinkan kita mengekstrak apa yang kita butuhkan lebih cepat tepat di sini dalam kode kita
00:03:01sehingga kita bisa terus bekerja tanpa perlu berpindah-pindah tab.
00:03:05Jadi apa sebenarnya MarkItDown itu?
00:03:07Ini adalah alat Python sumber terbuka dari Microsoft Research.
00:03:11Ini berlisensi MIT, dibangun khusus untuk alur kerja LLM.
00:03:16Tugasnya adalah mengambil file yang berantakan dan mengubahnya menjadi markdown yang bersih.
00:03:19Agar model benar-benar bisa memahaminya.
00:03:22Ini mendukung lebih banyak hal daripada yang kita bayangkan sebenarnya.
00:03:25Word, PowerPoint, Excel, PDF, audio, gambar, dan juga hal-hal seperti tautan, benar-benar apa saja, sebutkan saja.
00:03:32Bahkan sekarang sudah ada server MCP, jadi Anda bisa menghubungkannya langsung ke alat seperti Claude Desktop atau bahkan agen Anda sendiri.
00:03:40Ditambah lagi plugin-pluginnya.
00:03:41Jadi alih-alih membangun alur kerja ingestion, kita sekarang pada dasarnya hanya memanggil satu alat.
00:03:47Para pengembang tidak kesulitan dengan modelnya, mereka kesulitan dengan inputnya.
00:03:51Dan harapannya adalah, oke, gunakan saja model yang lebih baik.
00:03:55Tapi kenyataan dari semua ini adalah input yang lebih baik sama dengan output yang lebih baik.
00:04:00Jadi sekarang alih-alih menulis skrip yang sering rusak, orang-orang sekarang menggunakan satu alat untuk semuanya, MarkItDown.
00:04:06Alur kerja RAG, agen, kumpulan data fine-tuning, basis pengetahuan, analisis dokumen, semua hal yang sudah kita lakukan ini.
00:04:13Dan detail kunci yang dilewatkan kebanyakan orang adalah alat ini menghasilkan markdown yang terstruktur dan efisien dalam penggunaan token.
00:04:20Jadi ada lebih sedikit gangguan yang masuk ke sini, tetapi kita mendapatkan jawaban yang lebih baik, output yang lebih baik itu.
00:04:24Tapi itu tidak berarti sempurna.
00:04:26Sekarang mari kita bandingkan ini dengan apa yang mungkin sudah Anda gunakan atau pernah Anda lihat sebelumnya.
00:04:31Sekarang kita memang punya alat yang disebut Pandoc, jadi Anda berharap Pandoc yang menang di sini, baiklah?
00:04:36Tapi ini memecahkan masalah yang berbeda dari MarkItDown.
00:04:40Pandoc adalah untuk manusia, jadi untuk penerbitan, pemformatan, LaTeX.
00:04:44MarkItDown adalah untuk mesin, LLM, alur kerja, otomatisasi.
00:04:48Idenya agak sama, tapi tujuannya berbeda.
00:04:51Lalu kita punya hal-hal seperti Unstructured atau Docling.
00:04:55Ini bagus, tetapi ini juga sangat berat.
00:04:58Mereka menggunakan model ML, memerlukan pengaturan lebih banyak, dan lebih baik untuk dokumen yang sangat kompleks.
00:05:03MarkItDown mengambil pendekatan sebaliknya dari semua ini.
00:05:05Pengaturannya lebih sedikit, sangat mudah, hasil lebih cepat, dan cukup baik untuk sebagian besar file.
00:05:11Jadi inilah pertukaran yang sebenarnya.
00:05:12Apakah Anda menginginkan ekstraksi yang sempurna, atau Anda menginginkan sesuatu yang bekerja sangat cepat dan andal?
00:05:18Bagi kebanyakan dari kita, kecepatan akan menang.
00:05:20Sekarang, tentu saja, kekurangannya, PDF yang kompleks masih akan merusaknya, bukan?
00:05:24Terutama tabel yang padat atau tata letak yang aneh.
00:05:27Jika Anda berurusan dengan dokumen yang berantakan setiap hari, alat seperti Docling atau Unstructured akan bekerja jauh lebih baik.
00:05:32Tapi jika Anda ingin deskripsi gambar, Anda perlu menghubungkan LLM.
00:05:36Jadi tidak sempurna, tetapi ini adalah alat yang cukup keren yang memecahkan masalah nyata.
00:05:41Jadi apakah layak digunakan?
00:05:43Ya, bagi kebanyakan orang, tentu saja.
00:05:45Jika Anda sedang membangun aplikasi AI sekarang, mungkin seperti inilah lapisan ingestion Anda seharusnya.
00:05:50Anda harus mencoba menggunakan MarkItDown.
00:05:52Coba saja jika Anda menginginkan input bersih untuk RAG atau agen.
00:05:56Anda berurusan dengan campuran jenis file.
00:05:58Alat ini sangat bagus untuk hal-hal itu.
00:05:59Dan Anda tidak ingin memelihara banyak skrip yang rapuh yang bisa rusak, bukan?
00:06:03Lewati atau gabungkan jika Anda bekerja dengan PDF yang sangat kompleks setiap hari.
00:06:08Ada alat lain di luar sana.
00:06:09Jika Anda menikmati alat sumber terbuka dan tips coding seperti ini, pastikan untuk berlangganan saluran Better Stack.
00:06:15Sampai jumpa di video berikutnya.

Key Takeaway

MarkItDown dari Microsoft Research menggantikan skrip ingestion yang rapuh dengan konversi satu baris kode untuk mengubah berbagai format file menjadi Markdown yang dioptimalkan untuk performa LLM.

Highlights

MarkItDown adalah pustaka Python sumber terbuka dari Microsoft Research yang mengubah berbagai format file menjadi Markdown bersih dalam satu baris kode.

Alat ini mendukung konversi file Word, PowerPoint, Excel, PDF, audio, gambar, dan tautan.

Penggunaan MarkItDown mengurangi penggunaan token LLM karena menghasilkan output Markdown yang terstruktur dan efisien.

MarkItDown menyediakan server MCP yang memungkinkan integrasi langsung ke alat seperti Claude Desktop atau agen AI.

Berbeda dengan Pandoc yang ditujukan untuk penerbitan manusia, MarkItDown dioptimalkan khusus untuk alur kerja mesin dan LLM.

Timeline

Masalah dalam Ingestion Pipeline AI

  • Proses pengolahan dokumen sering kali menghabiskan waktu lebih banyak daripada pengembangan aplikasi AI itu sendiri.
  • Penggunaan banyak pustaka untuk berbagai format file sering menyebabkan hilangnya struktur tabel, judul, dan pembengkakan penggunaan token.
  • Hasil RAG (Retrieval-Augmented Generation) yang buruk sering kali disebabkan oleh input data yang tidak terstruktur, bukan karena model LLM itu sendiri.

Pengembang sering terjebak dalam debugging proses ingestion alih-alih merilis produk. Struktur dokumen yang rusak seperti hilangnya judul dan tabel membuat LLM kesulitan memproses informasi, yang pada akhirnya memboroskan waktu pengembang setiap minggunya.

Implementasi dan Kemampuan MarkItDown

  • MarkItDown dijalankan melalui perintah satu baris di terminal, seperti 'markitdown doc.pdf output.md'.
  • Pustaka ini mampu mengekstraksi data dari gambar, termasuk meringkas grafik dari file PNG ke dalam format teks.
  • Integrasi dengan Python sangat sederhana melalui penggunaan klien OpenAI dan objek markdown.

Penggunaan alat ini sangat sederhana, cukup dengan menginstalnya melalui pip dan menjalankan fungsi convert. Struktur file asli seperti tabel dan judul tetap terjaga, memfasilitasi penggunaan data langsung dalam alur kerja pengembangan tanpa harus berpindah tab.

Posisi MarkItDown dalam Ekosistem Alat Data

  • MarkItDown berlisensi MIT dan dikhususkan untuk alur kerja LLM, basis pengetahuan, dan dataset fine-tuning.
  • Alat ini menawarkan keseimbangan antara kecepatan dan kemudahan penggunaan dibandingkan alat yang lebih berat seperti Unstructured atau Docling.
  • Penggunaan MarkItDown tidak disarankan untuk dokumen dengan PDF yang sangat kompleks atau tata letak yang tidak lazim.

Pandoc lebih cocok untuk kebutuhan pemformatan manusia, sementara MarkItDown memprioritaskan efisiensi mesin. Meskipun alat lain seperti Unstructured mungkin lebih unggul untuk dokumen ekstrem, MarkItDown unggul dalam kecepatan dan kemudahan integrasi untuk sebagian besar kebutuhan aplikasi AI.

Community Posts

View all posts