このガイドでは、Gemini Flash や GPT-4o などのビジョン言語モデル (VLM) を使用して PDF から構造化データを抽出する方法を説明します。
Google の視覚言語モデルの最新シリーズである Gemini は、テキストと画像の理解において最先端のパフォーマンスを示しました。この改善されたマルチモーダル機能と長いコンテキスト ウィンドウにより、図、チャート、表、ダイアグラムなど、従来の抽出モデルでは困難であった視覚的に複雑な PDF データの処理に特に役立ちます。
これにより、ビジュアル ファイルや Web 抽出のための独自のデータ抽出ツールを簡単に構築できます。その方法は次のとおりです:
Gemini の長いコンテキスト ウィンドウとマルチモーダル機能により、従来の抽出モデルでは困難であった視覚的に複雑な PDF データの処理に特に役立ちます。
抽出に入る前に、開発環境をセットアップしましょう。このガイドは、システムに Python がインストールされていることを前提としています。そうでない場合は、https://www.python.org/downloads/
からダウンロードしてインストールします。⚠️ Python を使用したくない場合は、thepi.pe のクラウド プラットフォームを使用して、コードを記述せずにファイルをアップロードし、結果を CSV としてダウンロードできることに注意してください。
ターミナルまたはコマンド プロンプトを開き、次のコマンドを実行します。
pip install git+https://github.com/emcf/thepipe pip install pandas
Python を初めて使用する人のために説明すると、pip は Python のパッケージ インストーラーであり、これらのコマンドは必要なライブラリをダウンロードしてインストールします。
パイプを使用するには、API キーが必要です。
免責事項: thepi.pe は無料のオープンソース ツールですが、API にはトークンあたり約 0.00002 ドルのコストがかかります。このようなコストを回避したい場合は、GitHub でローカル設定手順を確認してください。選択した LLM プロバイダーに引き続き料金を支払う必要があることに注意してください。
入手して設定する方法は次のとおりです:
次に、これを環境変数として設定する必要があります。このプロセスはオペレーティング システムによって異なります:
Windows の場合:
macOS および Linux の場合:
ターミナルを開き、シェル設定ファイル (例: ~/.bashrc または ~/.zshrc) に次の行を追加します。
export THEPIPE_API_KEY=your_api_key_here
次に、設定をリロードします:
source ~/.bashrc # or ~/.zshrc
抽出を成功させる鍵は、抽出するデータの明確なスキーマを定義することです。数量明細書ドキュメントからデータを抽出するとします。
数量明細書ドキュメントのページの例。各ページのデータは他のページから独立しているため、抽出は「ページごと」に行われます。ページごとに抽出するデータが複数あるため、複数の抽出を True
に設定します。
列名を確認すると、次のようなスキーマを抽出できます。
schema = { "item": "string", "unit": "string", "quantity": "int", }
pi.pe プラットフォームでお好みに合わせてスキーマを変更できます。 [スキーマの表示] をクリックすると、コピーして貼り付けて Python API で使用できるスキーマが表示されます
次に、extract_from_file を使用して 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" )
ここでは、各ページを AI モデルに個別に送信したいため、chunking_method="chunk_by_page" としています (PDF は大きすぎて一度にすべてを送信できません)。 PDF ページにはそれぞれ複数行のデータが含まれるため、multiple_extractions=True も設定します。 PDF のページは次のようになります:
pi.pe プラットフォームで表示された数量明細書 PDF の抽出結果
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.
Now that we have our data in a DataFrame, we can easily export it to various formats. Here are some options:
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.
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.
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.
以上がPython 行で Google Gemini を使用してトリッキーな PDF からデータを抽出するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。