はじめに
pdf-extract-apiは文書の抽出と解析を行うAPIで、Ollamaがサポートする最先端のOCR技術とモデルを使用して文書の匿名化をサポートします。あらゆる文書や画像を構造化されたJSONやMarkdownに変換することができ、表データや数値、数式の高精度な抽出をサポートしています。FastAPI上に構築されたAPIは、非同期タスク処理にCeleryを、OCR結果のキャッシュにRedisを使用し、効率的で信頼性の高いドキュメント処理を実現します。
機能一覧
- 高精度なPDFからMarkdownへの変換
- PDFからJSONへの変換
- LLM(例:LLama 3.1)によるOCR結果の改善
- 個人を特定できる情報(PII)の削除
- 分散キュー処理(Celeryを使用)
- 結果のキャッシュ(Redisを使用)
- タスクを送信し、結果を処理するためのCLIツール
ヘルプの使用
設置プロセス
- クローン倉庫::
git clone https://github.com/CatchTheTornado/pdf-extract-api.git cd pdf-extract-api
2. **依存関係のインストール** :
DockerとDocker Composeがインストールされていることを確認し、以下のコマンドを実行する:
bash
docker-compose up
使用プロセス
- PDFをMarkdownに変換する ::
CLIツールを使ってタスクを送信し、結果を処理する:
python client/cli.py ocr --file examples/example-mri.pdf --prompt_file examples/example-mri-2-json-prompt.txt
PDFファイルをMarkdown形式に変換します。
- PDFをJSONに変換し、PIIを削除する ::
python client/cli.py ocr --file examples/example-invoice.pdf --prompt_file examples/example-invoice-remove-pii.txt
これにより、PDFファイルはJSON形式に変換され、個人を特定できる情報は削除されます。
- OCR結果のキャッシュ ::
Redisを使用してOCR結果をキャッシュし、処理効率を向上させます。
詳しい操作手順
- サービス開始 Dockerコンテナが正常に動作し、サービスが開始したらCLIツール経由でOCRタスクが送信できることを確認する。
- タスクの送信 CLIツールを使用して、入力ファイルと変換形式を指定してOCRタスクを送信します。
- 結果 タスクが完了すると、結果は指定されたフォーマットで出力され、直接使用したり、さらに処理したりすることができる。