Paket untuk parsing PDF dan menganalisis konten mereka menggunakan LLMS.
Paket ini merupakan peningkatan berdasarkan konsep GPTPDF.
GPTPDF menggunakan PYMUPDF untuk menguraikan PDF, mengidentifikasi kedua wilayah teks dan non-teks. Kemudian menggabungkan atau menyaring wilayah teks berdasarkan aturan tertentu, dan memasukkan hasil akhir ke dalam model multimoda untuk penguraian. Metode ini sangat efektif.
Berdasarkan konsep ini, saya membuat beberapa perbaikan kecil.
Menggunakan model analisis tata letak, setiap halaman PDF diuraikan untuk mengidentifikasi jenis masing -masing wilayah, yang mencakup teks, judul, gambar, gambar gambar, tabel, keterangan tabel, header, footer, referensi, dan persamaan. Koordinat masing -masing wilayah juga diperoleh.
Hasil Analisis Tata Letak Contoh:
[{'header': ((101, 66, 436, 102), 0)},
{'header': ((1038, 81, 1088, 95), 1)},
{'title': ((106, 215, 947, 284), 2)},
{'text': ((101, 319, 835, 390), 3)},
{'text': ((100, 565, 579, 933), 4)},
{'text': ((100, 967, 573, 1025), 5)},
{'text': ((121, 1055, 276, 1091), 6)},
{'reference': ((101, 1124, 562, 1429), 7)},
{'text': ((610, 565, 1089, 930), 8)},
{'text': ((613, 976, 1006, 1045), 9)},
{'title': ((612, 1114, 726, 1129), 10)},
{'text': ((611, 1165, 1089, 1431), 11)},
{'title': ((1011, 1471, 1084, 1492), 12)}]
Hasil ini termasuk jenis, koordinat, dan urutan membaca masing -masing wilayah. Dengan menggunakan hasil ini, aturan yang lebih tepat dapat diatur untuk menguraikan PDF.
Akhirnya, masukkan gambar daerah yang sesuai ke dalam model multimodal, seperti GPT-4O atau Qwen-VL, untuk secara langsung mendapatkan blok teks yang ramah pada solusi kain.
| img_path | jenis | page_no | nama file | isi | filepath |
|---|---|---|---|---|---|
| {absolute_path} /page_1_title.png | Judul | 1 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 1] | {file_absolute_path} |
| {absolute_path} /page_1_text.png | Teks | 1 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 2] | {file_absolute_path} |
| {absolute_path} /page_2_figure.png | Angka | 2 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 3] | {file_absolute_path} |
| {absolute_path} /page_2_figure_caption.png | Caption Gambar | 2 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 4] | {file_absolute_path} |
| {absolute_path} /page_3_table.png | Meja | 3 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 5] | {file_absolute_path} |
| {absolute_path} /page_3_table_caption.png | Keterangan Tabel | 3 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 6] | {file_absolute_path} |
| {absolute_path} /page_1_header.png | Header | 1 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 7] | {file_absolute_path} |
| {absolute_path} /page_2_footer.png | Footer | 2 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 8] | {file_absolute_path} |
| {absolute_path} /page_3_reference.png | Referensi | 3 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 9] | {file_absolute_path} |
| {absolute_path} /page_1_equation.png | Persamaan | 1 | Perhatian adalah semua yang Anda butuhkan | [Blok Teks 10] | {file_absolute_path} |
Lihat lebih banyak di LLM_PARSER.PY FUNGSI UTAMA.
pip install llmdocparser
Untuk menginstal proyek ini dari sumber, ikuti langkah -langkah ini:
Klon Repositori:
Pertama, klon repositori ke mesin lokal Anda. Buka terminal Anda dan jalankan perintah berikut:
git clone https://github.com/lazyFrogLOL/llmdocparser.git
cd llmdocparserInstal dependensi:
Proyek ini menggunakan puisi untuk manajemen ketergantungan. Pastikan Anda menginstal puisi. Jika tidak, Anda dapat mengikuti instruksi dalam panduan instalasi puisi.
Setelah puisi diinstal, jalankan perintah berikut di direktori root proyek untuk menginstal dependensi:
poetry install Ini akan membaca file pyproject.toml dan menginstal semua dependensi yang diperlukan untuk proyek.
from llmdocparser . llm_parser import get_image_content
content , cost = get_image_content (
llm_type = "azure" ,
pdf_path = "path/to/your/pdf" ,
output_dir = "path/to/output/directory" ,
max_concurrency = 5 ,
azure_deployment = "azure-gpt-4o" ,
azure_endpoint = "your_azure_endpoint" ,
api_key = "your_api_key" ,
api_version = "your_api_version"
)
print ( content )
print ( cost )Parameter
llm_type: str
Pilihannya adalah Azure, Openai, Dashscope.
pdf_path: str
Jalur ke file PDF.
output_dir: str
Direktori Output untuk menyimpan semua gambar yang diuraikan.
Max_concurrency: int
Jumlah utas pekerja parsing GPT. Detail Panggilan Batch: Dukungan Batch
Jika menggunakan Azure, parameter Azure_Deployment dan Azure_endpoint perlu dilewati; Kalau tidak, hanya kunci API yang perlu disediakan.
base_url: str
URL Server OpenAI yang kompatibel. Detail: Server yang kompatibel dengan Openai
Menggunakan kertas 'perhatian adalah yang Anda butuhkan' untuk analisis, model yang dipilih adalah GPT-4O, biaya sebagai berikut:
Total Tokens: 44063
Prompt Tokens: 33812
Completion Tokens: 10251
Total Cost (USD): $0.322825
Biaya rata -rata per halaman: $ 0,0215