Tutorial Marker: Mengubah PDF dan Dokumen Menjadi Markdown untuk Pipeline RAG
Dalam dunia AI dan data engineering, kemampuan mengekstrak teks dari dokumen PDF, EPUB, dan gambar menjadi format terstruktur adalah kebutuhan fundamental. Marker adalah library open-source buatan VikParuchuri yang mampu mengkonversi dokumen menjadi Markdown berkualitas tinggi dengan akurasi luar biasa, termasuk mengenali tabel, rumus matematika, dan layout dokumen yang kompleks.
Tutorial ini akan membahas cara menggunakan Marker secara lengkap, mulai dari instalasi hingga integrasi ke pipeline RAG (Retrieval-Augmented Generation) produksi.
Mengapa Marker?
Sebelum Marker, developer biasanya mengandalkan PyPDF2, pdfminer, atau Tesseract OCR untuk ekstraksi teks dari PDF. Namun tools tersebut sering menghasilkan output yang berantakan, kehilangan format tabel, dan gagal mengenali layout multi-kolom.
Marker menyelesaikan masalah ini dengan pendekatan berbeda. Library ini menggunakan kombinasi model deep learning untuk:
- Mendeteksi layout halaman (header, footer, kolom, tabel)
- Mengenali teks dengan OCR berbasis Surya
- Mengkonversi tabel menjadi format Markdown yang rapi
- Memproses rumus matematika menjadi LaTeX
- Menangani dokumen multi-bahasa
Marker mendukung format input PDF, EPUB, MOBI, dan berbagai format gambar. Output yang dihasilkan berupa Markdown bersih yang siap digunakan untuk indexing, RAG pipeline, atau analisis lebih lanjut.
Instalasi
Prasyarat Sistem
Marker membutuhkan Python 3.9 atau lebih baru. Untuk performa optimal, GPU dengan CUDA sangat direkomendasikan meskipun CPU juga didukung.
python --version
Pastikan versi Python Anda minimal 3.9.
Instalasi via pip
Cara paling mudah menginstall Marker adalah menggunakan pip:
pip install marker-pdf
Ini akan menginstall Marker beserta semua dependensi yang diperlukan, termasuk model Surya untuk OCR dan deteksi layout.
Instalasi dari Source
Jika Anda ingin versi terbaru atau berkontribusi ke development:
git clone https://github.com/VikParuchuri/marker.git
cd marker
pip install -e .
Instalasi dengan GPU Support
Untuk mengaktifkan akselerasi GPU dengan CUDA:
pip install marker-pdf[gpu]
Pastikan CUDA toolkit sudah terinstall di sistem Anda. Verifikasi dengan:
python -c "import torch; print(torch.cuda.isavailable())"
Download Model
Saat pertama kali dijalankan, Marker akan otomatis mendownload model yang diperlukan dari Hugging Face. Model-model ini termasuk:
- Model deteksi layout
- Model OCR (Surya)
- Model pengenalan tabel
- Model konversi rumus matematika
Total ukuran model sekitar 2-3 GB. Pastikan koneksi internet stabil saat pertama kali menjalankan.
Basic Usage
Konversi File Tunggal via CLI
Marker menyediakan command-line interface yang mudah digunakan:
markersingle /path/to/document.pdf /path/to/output/folder
Perintah ini akan menghasilkan file Markdown di folder output beserta gambar yang diekstrak dari dokumen.
Konversi Batch
Untuk mengkonversi banyak dokumen sekaligus:
marker /path/to/input/folder /path/to/output/folder
Marker akan memproses semua file PDF, EPUB, dan MOBI di folder input secara paralel.
Penggunaan via Python API
Untuk integrasi ke aplikasi Python, gunakan API langsung:
from marker.converters.pdf import PdfConverter
from marker.models import createmodeldict
from marker.output import textfromrendered
Inisialisasi converter dengan model
converter = PdfConverter(
artifactdict=createmodeldict(),
)
Konversi dokumen
rendered = converter("document.pdf")
Dapatkan teks Markdown dan metadata
text, metadata, images = textfromrendered(rendered)
print(text) # Output Markdown
print(metadata) # Metadata dokumen
Contoh Output
Misalnya Anda memiliki PDF laporan keuangan dengan tabel. Marker akan menghasilkan output seperti:
# Laporan Keuangan Q1 2026
Ringkasan Pendapatan
| Kategori | Q1 2025 | Q1 2026 | Pertumbuhan |