Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengekstrak Data daripada PDF Tricky dengan Google Gemini dalam baris Python

Mengekstrak Data daripada PDF Tricky dengan Google Gemini dalam baris Python

WBOY
WBOYasal
2024-07-19 15:27:28867semak imbas

Dalam panduan ini, saya akan menunjukkan kepada anda cara mengekstrak data berstruktur daripada PDF menggunakan model bahasa penglihatan (VLM) seperti Gemini Flash atau GPT-4o.

Gemini, siri terbaharu model bahasa penglihatan Google, telah menunjukkan prestasi seni dalam pemahaman teks dan imej. Keupayaan multimodal yang dipertingkatkan dan tetingkap konteks panjang menjadikannya amat berguna untuk memproses data PDF yang kompleks secara visual yang bergelut dengan model pengekstrakan tradisional, seperti rajah, carta, jadual dan rajah.

Dengan berbuat demikian, anda boleh membina alat pengekstrakan data anda sendiri dengan mudah untuk fail visual dan pengekstrakan web. Begini caranya:

Tetingkap konteks panjang Gemini dan keupayaan multimodal menjadikannya amat berguna untuk memproses data PDF yang kompleks secara visual di mana model pengekstrakan tradisional bergelut.

Sediakan Persekitaran Anda

Sebelum kita menyelami pengekstrakan, mari kita sediakan persekitaran pembangunan kita. Panduan ini menganggap anda telah memasang Python pada sistem anda. Jika tidak, muat turun dan pasang dari https://www.python.org/downloads/

⚠️ Ambil perhatian bahawa, jika anda tidak mahu menggunakan Python, anda boleh menggunakan platform awan di thepi.pe untuk memuat naik fail anda dan memuat turun hasil anda sebagai CSV tanpa menulis sebarang kod.

Pasang Perpustakaan yang Diperlukan

Buka terminal atau command prompt anda dan jalankan arahan berikut:

pip install git+https://github.com/emcf/thepipe
pip install pandas

Bagi mereka yang baru menggunakan Python, pip ialah pemasang pakej untuk Python, dan arahan ini akan memuat turun dan memasang perpustakaan yang diperlukan.

Sediakan Kunci API Anda

Untuk menggunakan paip, anda memerlukan kunci API.

Penafian: Walaupun thepi.pe ialah alat sumber terbuka percuma, API mempunyai kos, kira-kira $0.00002 setiap token. Jika anda ingin mengelakkan kos sedemikian, lihat arahan persediaan setempat pada GitHub. Harap maklum bahawa anda masih perlu membayar pembekal LLM pilihan anda.

Berikut ialah cara untuk mendapatkan dan menyediakannya:

  1. Lawati https://thepi.pe/platform/
  2. Buat akaun atau log masuk
  3. Cari kunci API anda dalam halaman tetapan

Extracting Data from Tricky PDFs with Google Gemini in lines of Python

Sekarang, anda perlu menetapkan ini sebagai pembolehubah persekitaran. Prosesnya berbeza-beza bergantung pada sistem pengendalian anda:

  • Salin kekunci API daripada menu tetapan pada Platform thepi.pe

Untuk Windows:

  1. Cari "Pembolehubah Persekitaran" dalam menu Mula
  2. Klik "Edit pembolehubah persekitaran sistem"
  3. Klik butang "Pembolehubah Persekitaran"
  4. Di bawah "Pembolehubah pengguna", klik "Baharu"
  5. Tetapkan nama pembolehubah sebagai THEPIPE_API_KEY dan nilai sebagai kunci API anda
  6. Klik "OK" untuk menyimpan

Untuk macOS dan Linux:
Buka terminal anda dan tambahkan baris ini pada fail konfigurasi shell anda (cth., ~/.bashrc atau ~/.zshrc):

export THEPIPE_API_KEY=your_api_key_here

Kemudian, muat semula konfigurasi anda:

source ~/.bashrc # or ~/.zshrc

Menentukan Skim Pengekstrakan Anda

Kunci kepada pengekstrakan yang berjaya ialah mentakrifkan skema yang jelas untuk data yang ingin anda keluarkan. Katakan kami mengekstrak data daripada dokumen Bil Kuantiti:

Extracting Data from Tricky PDFs with Google Gemini in lines of Python

Contoh halaman daripada dokumen Bil Kuantiti. Data pada setiap halaman adalah bebas daripada halaman lain, jadi kami melakukan pengekstrakan "setiap halaman". Terdapat berbilang keping data untuk diekstrak setiap halaman, jadi kami menetapkan berbilang pengekstrakan kepada Benar

Melihat nama lajur, kami mungkin mahu mengekstrak skema seperti ini:

schema = {
  "item": "string",
  "unit": "string",
  "quantity": "int",
}

Anda boleh mengubah suai skema mengikut keinginan anda di Platform thepi.pe. Mengklik "Lihat Skema" akan memberi anda skema yang boleh anda salin dan tampal untuk digunakan dengan API Python

Image description

Mengekstrak Data daripada PDF

Sekarang, mari gunakan extract_from_file untuk menarik data daripada PDF:

from thepipe.extract import extract_from_file
results = extract_from_file(
  file_path = "bill_of_quantity.pdf",
  schema = schema,
  ai_model = "google/gemini-flash-1.5b",
  chunking_method = "chunk_by_page"
)

Di sini, kami telah chunking_method="chunk_by_page" kerana kami ingin menghantar setiap halaman ke model AI secara individu (PDF terlalu besar untuk disuap sekaligus). Kami juga menetapkan multiple_extractions=True kerana setiap halaman PDF mengandungi berbilang baris data. Begini rupa halaman daripada PDF:

Image description

Hasil pengekstrakan untuk Bil Kuantiti PDF seperti yang dilihat pada Platform thepi.pe

Processing the Results

The extraction results are returned as a list of dictionaries. We can process these results to create a pandas DataFrame:

import pandas as pd
df = pd.DataFrame(results)
# Display the first few rows of the DataFrame
print(df.head())

This creates a DataFrame with all the extracted information, including textual content and descriptions of visual elements like figures and tables.

Exporting to Different Formats

Now that we have our data in a DataFrame, we can easily export it to various formats. Here are some options:

Exporting to Excel

df.to_excel("extracted_research_data.xlsx", index=False, sheet_name="Research Data")

This creates an Excel file named "extracted_research_data.xlsx" with a sheet named "Research Data". The index=False parameter prevents the DataFrame index from being included as a separate column.

Exporting to CSV

If you prefer a simpler format, you can export to CSV:

df.to_csv("extracted_research_data.csv", index=False)

This creates a CSV file that can be opened in Excel or any text editor.

Ending Notes

The key to successful extraction lies in defining a clear schema and utilizing the AI model's multimodal capabilities. As you become more comfortable with these techniques, you can explore more advanced features like custom chunking methods, custom extraction prompts, and integrating the extraction process into larger data pipelines.

Atas ialah kandungan terperinci Mengekstrak Data daripada PDF Tricky dengan Google Gemini dalam baris Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn