Bahasa Inggris | 简体中文
PDF-Extract-Kit: Perangkat Ekstraksi PDF Berkualitas Tinggi???
? bergabunglah dengan kami di Discord dan WeChat
31/10/2024 0.9.0 dirilis. Ini adalah versi baru yang besar dengan pemfaktoran ulang kode yang ekstensif, mengatasi berbagai masalah, meningkatkan kinerja, mengurangi kebutuhan perangkat keras, dan meningkatkan kegunaan:
Menambahkan model doclayout_yolo
yang dikembangkan sendiri, yang mempercepat pemrosesan lebih dari 10 kali lipat dibandingkan dengan solusi asli sambil mempertahankan efek penguraian yang serupa, dan dapat dengan bebas dialihkan dengan layoutlmv3
melalui file konfigurasi.
Mengupgrade penguraian rumus ke unimernet 0.2.1
, meningkatkan akurasi penguraian rumus sekaligus mengurangi penggunaan memori secara signifikan.
Karena perubahan repositori untuk PDF-Extract-Kit 1.0
, Anda perlu mengunduh ulang modelnya. Silakan lihat Cara Mengunduh Model untuk langkah detailnya.
Memfaktorkan ulang kode modul pengurutan untuk menggunakan layoutreader untuk membaca pengurutan urutan, memastikan akurasi tinggi dalam berbagai tata letak.
Memfaktorkan ulang modul penggabungan paragraf untuk mencapai hasil yang baik dalam skenario lintas kolom, lintas halaman, lintas gambar, dan lintas tabel.
Memfaktorkan ulang fungsi pengenalan daftar dan daftar isi, secara signifikan meningkatkan keakuratan blok daftar dan blok daftar isi, serta penguraian paragraf teks terkait.
Memfaktorkan ulang logika pencocokan untuk gambar, tabel, dan teks deskriptif, sehingga sangat meningkatkan akurasi pencocokan keterangan dan catatan kaki dengan gambar dan tabel, serta mengurangi tingkat hilangnya teks deskriptif hingga mendekati nol.
Menambahkan dukungan multi-bahasa untuk OCR, mendukung deteksi dan pengenalan 84 bahasa. Untuk daftar bahasa yang didukung, lihat Daftar Dukungan Bahasa OCR.
Menambahkan logika daur ulang memori dan tindakan pengoptimalan memori lainnya, sehingga mengurangi penggunaan memori secara signifikan. Persyaratan memori untuk mengaktifkan semua fitur akselerasi kecuali akselerasi tabel (tata letak/rumus/OCR) telah dikurangi dari 16 GB menjadi 8 GB, dan persyaratan memori untuk mengaktifkan semua fitur akselerasi telah dikurangi dari 24 GB menjadi 10 GB.
Pengalihan fitur file konfigurasi yang dioptimalkan, menambahkan saklar deteksi formula independen untuk meningkatkan kecepatan dan hasil penguraian secara signifikan ketika deteksi formula tidak diperlukan.
PDF-Ekstrak-Kit Terintegrasi 1.0:
27/09/2024 Versi 0.8.1 dirilis, Memperbaiki beberapa bug, dan menyediakan versi penerapan lokal dari demo online dan antarmuka front-end.
09/09/2024: Versi 0.8.0 dirilis, mendukung penerapan cepat dengan Dockerfile, dan meluncurkan demo di Huggingface dan Modelscope.
30/08/2024: Versi 0.7.1 dirilis, tambahkan opsi pengenalan tabel paddle tablemaster
2024/08/09: Versi 0.7.0b1 dirilis, proses instalasi disederhanakan, menambahkan fungsionalitas pengenalan tabel
01/08/2024: Versi 0.6.2b1 dirilis, masalah konflik ketergantungan yang dioptimalkan dan dokumentasi instalasi
05/07/2024: Rilis sumber terbuka awal
PenambangU
Baris Perintah
API
Menyebarkan Proyek Turunan
Panduan Pengembangan
Demo Daring
Demo CPU Cepat
Menggunakan GPU
Pengenalan Proyek
Fitur Utama
Mulai Cepat
Penggunaan
TODO
Masalah yang Diketahui
Pertanyaan Umum
Semua Terima Kasih Kepada Kontributor Kami
Informasi Lisensi
Ucapan Terima Kasih
Kutipan
Sejarah Bintang
Dokumen ajaib
Sihir-html
Tautan
MinerU adalah alat yang mengubah PDF menjadi format yang dapat dibaca mesin (misalnya penurunan harga, JSON), sehingga memudahkan ekstraksi ke dalam format apa pun. MinerU lahir selama proses pra-pelatihan InternLM. Kami fokus pada penyelesaian masalah konversi simbol dalam literatur ilmiah dan berharap dapat berkontribusi terhadap perkembangan teknologi di era model besar. Dibandingkan dengan produk komersial ternama, MinerU masih terbilang muda. Jika Anda mengalami masalah atau jika hasilnya tidak sesuai harapan, harap kirimkan masalah yang dipermasalahkan dan lampirkan PDF yang relevan .
pdf_zh_cn.mp4
Hapus header, footer, catatan kaki, nomor halaman, dll., untuk memastikan koherensi semantik.
Keluaran teks dalam urutan yang dapat dibaca manusia, cocok untuk tata letak satu kolom, multi-kolom, dan kompleks.
Pertahankan struktur dokumen asli, termasuk judul, paragraf, daftar, dll.
Ekstrak gambar, deskripsi gambar, tabel, judul tabel, dan catatan kaki.
Secara otomatis mengenali dan mengonversi rumus dalam dokumen ke format LaTeX.
Secara otomatis mengenali dan mengonversi tabel dalam dokumen ke format LaTeX atau HTML.
Secara otomatis mendeteksi PDF yang dipindai dan PDF yang kacau dan mengaktifkan fungsionalitas OCR.
OCR mendukung deteksi dan pengenalan 84 bahasa.
Mendukung berbagai format keluaran, seperti multimodal dan NLP Markdown, JSON yang diurutkan berdasarkan urutan pembacaan, dan format perantara yang kaya.
Mendukung berbagai hasil visualisasi, termasuk visualisasi tata letak dan visualisasi bentang, untuk konfirmasi kualitas keluaran yang efisien.
Mendukung lingkungan CPU dan GPU.
Kompatibel dengan platform Windows, Linux, dan Mac.
Jika Anda mengalami masalah instalasi, silakan lihat FAQ terlebih dahulu.
Jika hasil parsing tidak sesuai harapan, lihat Masalah Umum.
Ada tiga cara berbeda untuk menikmati MinerU:
Demo Online (Tidak Perlu Instalasi)
Demo CPU Cepat (Windows, Linux, Mac)
Linux/Windows + CUDA
Untuk memastikan stabilitas dan keandalan proyek, kami hanya mengoptimalkan dan menguji lingkungan perangkat keras dan perangkat lunak tertentu selama pengembangan. Hal ini memastikan bahwa pengguna yang menerapkan dan menjalankan proyek pada konfigurasi sistem yang direkomendasikan akan mendapatkan performa terbaik dengan masalah kompatibilitas paling sedikit.
Dengan memfokuskan sumber daya pada lingkungan arus utama, tim kami dapat mengatasi potensi bug dan mengembangkan fitur baru dengan lebih efisien.
Di lingkungan non-arus utama, karena keragaman konfigurasi perangkat keras dan perangkat lunak, serta masalah kompatibilitas ketergantungan pihak ketiga, kami tidak dapat menjamin ketersediaan proyek 100%. Oleh karena itu, bagi pengguna yang ingin menggunakan proyek ini di lingkungan yang tidak direkomendasikan, kami menyarankan untuk membaca dokumentasi dan FAQ dengan cermat terlebih dahulu. Sebagian besar masalah sudah memiliki solusi terkait di FAQ. Kami juga mendorong masukan dari komunitas untuk membantu kami memperluas dukungan secara bertahap.
Sistem Operasi | |||||
Ubuntu 22.04 LTS | jendela 10/11 | macOS 11+ | |||
CPU | x86_64 (ARM Linux tidak didukung) | x86_64 (ARM Windows tidak didukung) | x86_64 / lengan64 | ||
Ingatan | 16GB atau lebih, direkomendasikan 32GB+ | ||||
Versi Python | 3.10 (Pastikan untuk membuat lingkungan virtual Python 3.10 menggunakan conda) | ||||
Versi Pengemudi Nvidia | terbaru (Pengemudi Berpemilik) | terbaru | Tidak ada | ||
Lingkungan CUDA | Instalasi otomatis [12.1 (pytorch) + 11.8 (dayung)] | 11.8 (instalasi manual) + cuDNN v8.7.0 (instalasi manual) | Tidak ada | ||
Daftar Dukungan Perangkat Keras GPU | Persyaratan Minimum 8G+ VRAM | 3060ti/3070/4060 VRAM 8G memungkinkan tata letak, akselerasi pengenalan formula, dan akselerasi OCR | Tidak ada | ||
Konfigurasi yang Direkomendasikan 10G+ VRAM | 3080/3080ti/3090/3090ti/4070/4070ti/4070tisuper/4080/4090 VRAM 10G atau lebih dapat mengaktifkan tata letak, pengenalan rumus, akselerasi OCR, dan akselerasi pengenalan tabel secara bersamaan |
Versi Stabil (Versi stabil diverifikasi oleh QA):
Versi Uji (Disinkronkan dengan pembaruan cabang dev, menguji fitur baru):
conda buat -n MinerU python=3.10 conda mengaktifkan MinerU pip install -U magic-pdf[lengkap] --extra-index-url https://wheels.myhloli.com
Lihat Cara Mengunduh File Model untuk instruksi rinci.
Setelah menyelesaikan langkah 2. Mengunduh file bobot model, skrip akan secara otomatis menghasilkan file magic-pdf.json
di direktori pengguna dan mengonfigurasi jalur model default. Anda dapat menemukan file magic-pdf.json
di 【direktori pengguna】 Anda.
Direktori pengguna untuk Windows adalah "C:Usersusername", untuk Linux adalah "/home/username", dan untuk macOS adalah "/Users/username".
Anda dapat mengubah konfigurasi tertentu dalam file ini untuk mengaktifkan atau menonaktifkan fitur, seperti pengenalan tabel:
Jika item berikut tidak ada di JSON, tambahkan item yang diperlukan secara manual dan hapus konten komentar (JSON standar tidak mendukung komentar).
{// other config"layout-config": {"model": "layoutlmv3" // Silakan ubah ke "doclayout_yolo" saat menggunakan doclayout_yolo.},"formula-config": {"mfd_model": "yolo_v8_mfd","mfr_model ": "unimernet_small","enable": true // Fitur pengenalan rumus diaktifkan secara default. Jika Anda perlu menonaktifkannya, harap ubah nilainya di sini menjadi "false".},"table-config": {"model": "tablemaster", // Saat menggunakan structEqTable, harap ubah menjadi "struct_eqtable"."enable" : false, // Fitur pengenalan tabel dinonaktifkan secara default. Jika Anda perlu mengaktifkannya, harap ubah nilainya di sini menjadi "true"."max_time": 400} }
Jika perangkat Anda mendukung CUDA dan memenuhi persyaratan GPU lingkungan arus utama, Anda dapat menggunakan akselerasi GPU. Silakan pilih panduan yang sesuai berdasarkan sistem Anda:
Ubuntu 22.04 LTS + GPU
Windows 10/11 + GPU
Penerapan Cepat dengan Docker
Docker memerlukan GPU dengan VRAM minimal 16 GB, dan semua fitur akselerasi diaktifkan secara default.
Sebelum menjalankan Docker ini, Anda dapat menggunakan perintah berikut untuk memeriksa apakah perangkat Anda mendukung akselerasi CUDA di Docker.
menjalankan buruh pelabuhan --rm --gpus=all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi
dapatkan https://github.com/opendatalab/MinerU/raw/master/Dockerfile docker build -tmineru:terbaru .docker run --rm -it --gpus=allmineru:terbaru /bin/bash sihir-pdf --membantu
sihir-pdf --membantu Penggunaan: magic-pdf [PILIHAN] Pilihan: -v, --version menampilkan versi dan keluar -p, --path PATH jalur file atau direktori pdf lokal [wajib] -o, --output-dir direktori lokal keluaran PATH [wajib] -m, --method [ocr|txt|auto] metode untuk mengurai pdf. ocr: menggunakan ocr teknik mengekstrak informasi dari pdf. teks: cocok untuk pdf berbasis teks saja dan mengungguli ocr. otomatis: secara otomatis memilih metode terbaik untuk parsing pdf dari ocr dan txt. tanpa metode yang ditentukan, otomatis akan digunakan oleh bawaan. -l, --lang TEXT Masukkan bahasa dalam pdf (jika diketahui) ke meningkatkan akurasi OCR. Opsional. Anda harus masukan "Singkatan" dengan bentuk bahasa url: ht tps://paddlepaddle.github.io/PaddleOCR/latest/en /ppocr/blog/multi_bahasa.html#5-dukungan-bahasa- dan-singkatan -d, --debug BOOLEAN Mengaktifkan informasi debug terperinci selama eksekusi perintah CLI. -s, --start INTEGER Halaman awal untuk penguraian PDF, dimulai dari 0. -e, --end INTEGER Halaman akhir untuk penguraian PDF, dimulai dari 0. --membantu Tampilkan pesan ini dan keluar.## tampilkan versimagic-pdf -v## contoh baris perintahmagic-pdf -p {some_pdf} -o {some_output_dir} -m auto
{some_pdf}
dapat berupa satu file PDF atau direktori yang berisi banyak PDF. Hasilnya akan disimpan di direktori {some_output_dir}
. Daftar file keluarannya adalah sebagai berikut:
├── some_pdf.md # markdown file
├── images # directory for storing images
├── some_pdf_layout.pdf # layout diagram (Include layout reading order)
├── some_pdf_middle.json # MinerU intermediate processing result
├── some_pdf_model.json # model inference result
├── some_pdf_origin.pdf # original PDF file
├── some_pdf_spans.pdf # smallest granularity bbox position information diagram
└── some_pdf_content_list.json # Rich text JSON arranged in reading order
Untuk informasi lebih lanjut tentang file keluaran, silakan lihat Deskripsi File Keluaran.
Memproses file dari disk lokal
image_writer = DiskReaderWriter(local_image_dir)image_dir = str(os.path.basename(local_image_dir))jso_useful_key = {"_pdf_type": "", "model_list": []}pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)pipe.pipe_classify( )pipe.pipe_analyze()pipe.pipe_parse()md_content = pipa.pipe_mk_markdown(image_dir, drop_mode="tidak ada")
Memproses file dari penyimpanan objek
s3pdf_cli = S3ReaderWriter(pdf_ak, pdf_sk, pdf_endpoint)image_dir = "s3://img_bucket/"s3image_cli = S3ReaderWriter(img_ak, img_sk, img_endpoint, parent_path=image_dir)pdf_bytes = s3pdf_cli.read(s3_pdf_path, mode=s3pdf_cli.MODE_BIN)jso_useful_key = {"_pdf_type": "", "model_list": []}pipe = UNIPipe(pdf_bytes, jso_useful_key, s3image_cli)pipe.pipe_classify()pipe.pipe_analyze()pipe.pipe_parse()md_content = pipe.pipe_mk_markdown(image_dir, drop_mode= "tidak ada")
Untuk implementasi detailnya, lihat:
demo.py Metode Pemrosesan Paling Sederhana
magic_pdf_parse_main.py Alur Kerja Pemrosesan Lebih Detail
Proyek turunan mencakup proyek pengembangan sekunder berdasarkan MinerU oleh pengembang proyek dan pengembang komunitas,
seperti antarmuka aplikasi berdasarkan Gradio, RAG berdasarkan llama, demo web yang mirip dengan situs web resmi, ujung klien/server penyeimbang beban multi-GPU yang ringan, dll. Proyek-proyek ini mungkin menawarkan lebih banyak fitur dan pengalaman pengguna yang lebih baik.
Untuk metode penerapan spesifik, silakan lihat README Proyek Turunan
TODO
? Urutan membaca berdasarkan model
? Pengenalan index
dan list
pada teks utama
? Pengenalan tabel
☐ Pengenalan blok kode pada teks utama
☐ Pengenalan formula kimia
☐ Pengenalan bentuk geometris
Urutan membaca ditentukan oleh model berdasarkan distribusi spasial konten yang dapat dibaca, dan mungkin tidak berurutan di beberapa area dalam tata letak yang sangat kompleks.
Teks vertikal tidak didukung.
Daftar isi dan daftar dikenali melalui aturan, dan beberapa format daftar yang tidak umum mungkin tidak dikenali.
Hanya satu tingkat judul yang didukung; judul hierarki saat ini tidak didukung.
Blok kode belum didukung dalam model tata letak.
Buku komik, album seni, buku pelajaran sekolah dasar, dan latihan soal tidak dapat diuraikan dengan baik.
Pengenalan tabel dapat mengakibatkan kesalahan pengenalan baris/kolom pada tabel yang kompleks.
Pengenalan OCR dapat menghasilkan karakter yang tidak akurat dalam PDF dalam bahasa yang kurang dikenal (misalnya, tanda diakritik dalam aksara Latin, karakter yang mudah tertukar dalam aksara Arab).
Beberapa rumus mungkin tidak ditampilkan dengan benar di Markdown.
Pertanyaan Umum dalam bahasa Cina
Pertanyaan Umum dalam bahasa Inggris
LISENSI.md
Proyek ini saat ini menggunakan PyMuPDF untuk mencapai fungsionalitas tingkat lanjut. Namun, karena mematuhi lisensi AGPL, maka mungkin menerapkan pembatasan pada skenario penggunaan tertentu. Pada iterasi mendatang, kami berencana untuk mengeksplorasi dan menggantinya dengan pustaka pemrosesan PDF yang lebih permisif untuk meningkatkan kemudahan penggunaan dan fleksibilitas.
PDF-Ekstrak-Kit
StructEqTable
DayungOCR
PyMuPDF
pembaca tata letak
deteksi cepat
pdfminer.enam
@misc{wang2024mineruopensourcesolutionprecise, title={MinerU: Solusi Sumber Terbuka untuk Ekstraksi Konten Dokumen yang Tepat}, author={Bin Wang dan Chao Xu dan Xiaomeng Zhao dan Linke Ouyang dan Fan Wu dan Zhiyuan Zhao dan Rui Xu dan Kaiwen Liu dan Yuan Qu dan Fukai Shang dan Bo Zhang dan Liqun Wei dan Zhihao Sui dan Wei Li dan Botian Shi dan Yu Qiao dan Dahua Lin dan Conghui He}, tahun={2024}, eprint={2409.18839}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2409.18839}, }@article{he2024opendatalab, title={Opendatalab: Memberdayakan kecerdasan buatan secara umum dengan kumpulan data terbuka}, author={He, Conghui dan Li, Wei dan Jin, Zhenjiang dan Xu, Chao dan Wang, Bin dan Lin, Dahua}, journal= {arXiv pracetak arXiv:2407.13773}, tahun={2024}}
Alat ekstraksi ppt/pptx/doc/docx/pdf kecepatan cepat Magic-Doc
Alat ekstraksi halaman web Campuran Magic-HTML
LabelU (Alat Anotasi Data Multimodal Ringan)
LabelLLM (Platform Anotasi Dialog LLM Sumber Terbuka)
PDF-Extract-Kit (Perangkat Komprehensif untuk Ekstraksi Konten PDF Berkualitas Tinggi)