Text-Extract-API:ドキュメントを構造化データに変換、手間を省いて
PDFレポートやスキャン文書からデータを抽出する必要はありませんか?手動でテキストをコピーしたり、歪んだテーブルに四苦八苦したり、数式が崩れたりというおなじみの悪夢はありませんか?Text-Extract-APIは、最新のOCR技術と言語モデルを組み合わせた、この問題へのエレガントなソリューションを提供します。
このツールとは?
Text-Extract-APIは、Pythonで書かれたAPIで、以下のようなことができます:
- PDF、Word、PowerPoint、画像ファイルをMarkdownまたはJSONに変換
- テーブル、数値、数式を抽出
- 個人を特定できる情報(PII)をドキュメントから削除
- LLMモデル(Llama 3、MiniCPMなど)を使用して認識品質を向上
主な利点は、すべてローカルで動作し、クラウドサービスにデータを送信しないことです。
主な機能
1. さまざまなフォーマットと認識戦略のサポート
このプロジェクトは、複数のOCRエンジンをサポートしています:
- EasyOCR — 30以上の言語で高速なテキスト認識
- MiniCPM-V — 商用的利用可能なオープンモデル
- Llama 3.2 Vision — 最も正確だが、リソース集約的なオプション
- Remote API — Marker PDFなどの外部サービスとの統合用
変換のコマンド例:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. LLMを使用したテキスト改善
認識後、テキストは言語モデルでさらに処理できます:
- OCRエラーの修正
- 構造化データの抽出(例:医療レポートをJSONに変換)
- 個人データの削除
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. 柔軟な結果保存
処理済みドキュメントの保存には、さまざまな戦略がサポートされています:
- ローカルファイルシステム
- Google Drive
- Amazon S3
YAMLファイルでの設定により、システムをお客様のニーズに簡単に適応させることができます。
技術的な詳細
プロジェクトのアーキテクチャは以下に基づいて構築されています:
- REST API用のFastAPI
- 非同期タスク処理用のCelery
- 結果キャッシュ用のRedis
- ローカルLLMモデルの操作用のOllama
2つのデプロイオプションが提供されています:
- ネイティブ実行(Apple Silicon搭載のMacに便利)
- Dockerコンテナ(GPUアクセラレーション版を含む)
実践的な応用例
Text-Extract-APIはどこで役立つでしょうか?
法務事務所では、契約書のスキャンを自動処理し、主要な条項を構造化された形式で抽出できます。
医療施設では、手動でのデータ入力なしに、紙ベースのレポートを電子カルテに変換するツールが手に入ります。
フィンテックスタートアップでは、银行取引明細や請求書を解析し、会計システム用のデータを抽出できます。
研究者は、数式やテーブルを維持しながら、古書や科学論文をデジタル化する機能を高く評価するでしょう。
5分で始める
- DockerとOllamaをインストール
- リポジトリをクローン:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- サービスを起動:
docker-compose up --build
- 最初のドキュメント変換を試してみましょう!
Text-Extract-APIの特徴: ✅ クラウドにデータを送信しないローカルソリューション ✅ 多くのフォーマットと言語のサポート ✅ さまざまなストレージオプションとの柔軟な統合 ✅ LLMによる品質向上
このプロジェクトは、商用APIに依存したくない、または独自のOCR実装に時間をかけたくないアプリケーションでドキュメントを処理する必要がある開発者にとって、特に高く評価されるでしょう。
テスト用のデモバージョンが利用でき、すべての質問はプロジェクトのDiscordコミュニティで議論できます。
関連プロジェクト