Docling: Document Parsing Cerdas untuk Pipeline AI dan RAG
Dalam era AI generatif, kemampuan untuk mengekstrak informasi dari dokumen secara otomatis menjadi sangat krusial. Baik itu PDF laporan tahunan, presentasi PowerPoint, dokumen Word, atau halaman web HTML, kita membutuhkan alat yang mampu mengubah format-format tersebut menjadi data terstruktur yang siap dikonsumsi oleh model AI. Di sinilah Docling hadir sebagai solusi.
Docling adalah library open-source dari IBM Research yang dirancang untuk melakukan parsing dokumen secara cerdas. Library ini mendukung berbagai format input dan mampu menghasilkan output dalam format Markdown atau JSON yang bersih, siap untuk digunakan dalam pipeline AI, khususnya Retrieval-Augmented Generation (RAG).
Dalam tutorial ini, kita akan mempelajari cara menggunakan Docling mulai dari instalasi, konversi dokumen dasar, hingga membangun pipeline ingestion dokumen yang lengkap untuk RAG.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Python 3.10 atau lebih baru
- pip package manager
- Pemahaman dasar tentang Python
- (Opsional) GPU untuk OCR yang lebih cepat
Instalasi
Instalasi Docling cukup mudah menggunakan pip. Ada beberapa opsi instalasi tergantung kebutuhan Anda.
Instalasi Dasar
pip install docling
Instalasi dengan Dukungan OCR
pip install "docling[ocr]"
Instalasi Lengkap (Semua Fitur)
pip install "docling[all]"
Verifikasi Instalasi
import docling
print(f"Docling version: {docling.version}")
Format yang Didukung
Docling mendukung berbagai format dokumen sebagai input:
| Format | Ekstensi | Keterangan |
|--------|----------|------------|
| PDF | .pdf | Termasuk PDF dengan scan/gambar |
| Microsoft Word | .docx | Format Open XML |
| Microsoft PowerPoint | .pptx | Format Open XML |
| HTML | .html, .htm | Halaman web |
| Gambar | .png, .jpg, .tiff | Melalui OCR |
| AsciiDoc | .adoc | Format dokumentasi |
| Markdown | .md | Format markdown |
Konversi Dokumen Dasar
Mari mulai dengan konversi dokumen sederhana. Docling menyediakan API yang intuitif melalui class DocumentConverter.
Konversi PDF ke Markdown
from docling.documentconverter import DocumentConverter
Inisialisasi converter
converter = DocumentConverter()
Konversi dokumen PDF
result = converter.convert("laporan
tahunan.pdf")
Dapatkan output dalam format Markdown
markdownoutput = result.document.exporttomarkdown()
print(markdownoutput)
Konversi dari URL
Docling juga mendukung konversi langsung dari URL:
from docling.documentconverter import DocumentConverter
converter = DocumentConverter()
Konversi dari URL
result = converter.convert("https://example.com/dokumen.pdf")
markdown
output = result.document.exporttomarkdown()
print(markdownoutput)
Konversi DOCX
from docling.documentconverter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("proposalproyek.docx")
markdownoutput = result.document.exporttomarkdown()
Simpan ke file
with open("proposalproyek.md", "w", encoding="utf-8") as f:
f.write(markdownoutput)
print("Konversi selesai!")
Format Output
Docling mendukung beberapa format output yang dapat Anda pilih sesuai kebutuhan.
Export ke Markdown
from docling.documentconverter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("dokumen.pdf")
Export ke Markdown
md
content = result.document.exporttomarkdown()
Simpan ke file
with open("output.md", "w", encoding="utf-8") as f:
f.write(mdcontent)
Export ke JSON (Document Format)
import json
from docling.documentconverter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("dokumen.pdf")