Repolode
CatchTheTornado

CatchTheTornado/text-extract-api

PDF、画像、Office文書をMarkdownや構造化JSONに変換するセルフホスト型FastAPIサービス。OCR、Ollama経由のローカルLLM、個人情報の除去に対応。

代替できる製品:Adobe AcrobatABBYY FineReader

スター
3,184
フォーク
279
未解決の Issue
49
最終コミット
11 か月前

これは何?

text-extract-apiは、画像、PDF、OfficeファイルからMarkdownテキストや構造化JSONを抽出するサービスです。FastAPIを基盤とし、非同期タスク処理にCelery、OCR結果のキャッシュにRedisを使用します。EasyOCR、MiniCPM-V、Ollama経由で実行するLlama 3.2 Visionのほか、外部のmarker-pdfサーバーを呼び出すリモート方式など、複数のOCR方式を利用できます。

カスタムプロンプトを使って、OCRの出力をOllama上のLLMに渡すことができます。たとえば、JSONの生成や、請求書・レポートからの個人を特定できる情報の除去に利用できます。結果は、ローカルファイルシステム、Google Drive、Amazon S3など、プラグイン形式のストレージプロファイルを通じて保存できます。CPU環境とGPU環境向けのDocker Composeファイルが用意されており、CLIとTypeScriptクライアントも含まれています。

外部のクラウドサービスにファイルを送信せずに文書を処理したいチームを対象としています。データはスタックを実行しているマシンやサーバー内にとどまりますが、リモートのmarker方式やクラウドストレージのバックエンドを使う場合は、設定したエンドポイントにデータが送信されます。

主な機能

  • 01画像、PDF、Office文書をMarkdownまたはJSONに変換します。
  • 02EasyOCR、MiniCPM-V、Llama 3.2 Vision、およびリモートのmarker-pdfを使ったOCR方式を利用できます。
  • 03Ollama上のモデルでOCRテキストを後処理し、構造化データを抽出します。
  • 04プロンプトを使って個人を特定できる情報を除去します。
  • 05Celeryでタスクを非同期に実行し、OCR結果をRedisにキャッシュします。
  • 06ストレージプロファイルを通じて、結果をローカルディスク、Google Drive、Amazon S3に保存します。

ユースケース

  • スキャンした請求書やレポートを、後続システムで使える構造化JSONに変換する。
  • 文書を共有またはアーカイブする前に、個人情報をマスキングする。
  • ファイルをネットワーク外に出せない環境で、オンプレミスの文書OCRを実行する。
  • 文書取り込みAPIを構築し、テキストをRAGや検索のパイプラインに渡す。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/CatchTheTornado/text-extract-api.git
  2. 2

    プロジェクトディレクトリに移動する

    cd text-extract-api
  3. 3

    Docker Composeですべてのサービスを起動する

    docker-compose up --build

使う前に知っておきたいこと

  • ローカルのOCRモデルとOllamaのLLMを実行するには高性能なハードウェアが必要です。また、llama_vision戦略は900億パラメーターを使用するため、非常に低速です。
  • marker-pdfのリモート戦略はGPL3ライセンスで、同梱されていません。また、モデルの重みには非商用利用の制限があります。

トピック

よくある質問

text-extract-api とは?
PDF、画像、Office文書をMarkdownや構造化JSONに変換するセルフホスト型FastAPIサービス。OCR、Ollama経由のローカルLLM、個人情報の除去に対応。 text-extract-apiは、画像、PDF、OfficeファイルからMarkdownテキストや構造化JSONを抽出するサービスです。FastAPIを基盤とし、非同期タスク処理にCelery、OCR結果のキャッシュにRedisを使用します。EasyOCR、MiniCPM-V、Ollama経由で実行するLlama 3.2 Visionのほか、外部のmarker-pdfサーバーを呼び出すリモート方式など、複数のOCR方式を利用できます。
text-extract-api は無料で使えますか?ライセンスは?
text-extract-api は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
text-extract-api は今もメンテナンスされていますか?
半年以上コミットなし。text-extract-api の最終コミットは 2025年12月8日 です。
text-extract-api は何に使えますか?
スキャンした請求書やレポートを、後続システムで使える構造化JSONに変換する。 文書を共有またはアーカイブする前に、個人情報をマスキングする。 ファイルをネットワーク外に出せない環境で、オンプレミスの文書OCRを実行する。 文書取り込みAPIを構築し、テキストをRAGや検索のパイプラインに渡す。
text-extract-api のインストール方法は?
リポジトリをクローンする: git clone https://github.com/CatchTheTornado/text-extract-api.git プロジェクトディレクトリに移動する: cd text-extract-api Docker Composeですべてのサービスを起動する: docker-compose up --build
text-extract-api はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/CatchTheTornado/text-extract-api

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト