はじめに
テキスト抽出API(text-extract-api)は、様々なドキュメントフォーマット(PDF、Word、PPTXなど)からコンテンツを抽出・解析するために設計された強力なツールです。このAPIは、最先端の光学式文字認識(OCR)技術とOllamaがサポートするモデルを利用し、あらゆる文書や画像を構造化されたJSONまたはMarkdown形式に変換することができます。主な機能には、高精度のテキスト抽出、個人を特定できる情報(PII)の除去、複数のストレージ戦略のサポート、分散タスク処理などがあります。テキスト抽出APIはFastAPIで構築され、非同期タスク処理にCeleryを、OCR結果のキャッシュにRedisを使用することで、効率的で信頼性の高いドキュメント処理を実現しています。
pdf-extract-apiは文書の抽出と解析を行うAPIで、Ollamaがサポートする最先端のOCR技術とモデルを使用して文書の匿名化をサポートします。あらゆる文書や画像を構造化されたJSONやMarkdownに変換することができ、表データや数値、数式の高精度な抽出をサポートしています。FastAPI上に構築されたAPIは、非同期タスク処理にCeleryを、OCR結果のキャッシュにRedisを使用し、効率的で信頼性の高いドキュメント処理を実現します。
機能一覧
- 高精度OCR:PyTorch、Marker、Llama3.2-vision、その他のOCRストラテジーを使用して、高精度のテキスト抽出を実現します。
- ドキュメント変換:PDF、Word、PPTX、その他のドキュメントをMarkdownまたはJSONフォーマットに変換します。
- PIIの削除:ドキュメントから個人を特定できる情報を自動的に識別し、削除します。
- 分散処理:Celeryを分散タスク処理に使用することで、処理効率を向上。
- キャッシュメカニズム:OCR結果をキャッシュするためにRedisを使用し、繰り返し処理時間を短縮します。
- マルチストレージ戦略:ローカルファイルシステム、Googleドライブ、その他のストレージ方法をサポートします。
- CLIツール:ユーザーがタスクを送信し、結果を処理するのを容易にするコマンドラインツールを提供する。
ヘルプの使用
設置プロセス
- Ollamaをダウンロードしてインストールする。
- Dockerをダウンロードしてインストールする。
- text-extract-api リポジトリをクローンします:
git clone https://github.com/CatchTheTornado/text-extract-api.git
- プロジェクト・ディレクトリに移動し、Dockerコンテナを起動する:
cd text-extract-api
docker-compose up
使用方法
文書変換
- 変換する文書を指定したディレクトリにアップロードする。
- CLIツールを使って変換タスクを送信する:
python client/cli.py ocr_upload --file examples/example.pdf --prompt_file examples/example-to-json-prompt.txt
- 変換結果は、指定したディレクトリにJSONまたはMarkdown形式で保存されます。
PIIの削除
- PIIを含む文書をアップロードする。
- CLIツールを使用して、削除PIIタスクを送信する:
python client/cli.py ocr_upload --file examples/example-pii.pdf --prompt_file examples/example-remove-pii.txt
- 処理された文書は、個人を特定できる情報はすべて削除されます。
詳細な機能操作の流れ
- 高精度OCRマーカー、Llama3.2-visionなど、さまざまなOCRストラテジーを設定することで、さまざまな文書の高精度なテキスト抽出を実現します。ユーザーは文書の種類に応じて最適なOCRストラテジーを選択することができます。
- 文書変換PDF、Word、PPTX、およびその他の形式のドキュメントをサポートし、その後のデータ処理や分析を容易にするために、MarkdownまたはJSON形式に変換されます。
- PIIの削除データのプライバシーとセキュリティを確保するために、文書から個人を特定できる情報を自動的に識別して削除します。
- 分散処理Celeryを用いた分散タスク処理による大規模文書処理タスクの支援と処理効率の向上。
- キャッシングメカニズムRedisを使用してOCR結果をキャッシュすることで、繰り返し処理時間を短縮し、システムの応答時間を改善します。
- マルチ・ストレージ・ポリシーローカルファイルシステム、Googleドライブなど様々なストレージをサポートしています。
- CLIツールコマンドラインツールが用意されているので、ユーザーは簡単なコマンドでタスクを送信し、結果を処理することができます。