重要
OmniParse は、あらゆる非構造化データを取り込んで解析して、GenAI (LLM) アプリケーション用に最適化された構造化された実用的なデータに変換するプラットフォームです。ドキュメント、表、画像、ビデオ、オーディオ ファイル、または Web ページを操作しているかどうかに関係なく、OmniParse はデータをクリーンで構造化し、RAG や微調整などの AI アプリケーションに対応できるように準備します。
✅ 完全にローカルであり、外部 API はありません
✅ T4 GPUに適合
✅ 最大 20 種類のファイルをサポート
✅ ドキュメント、マルチメディア、Web ページを高品質の構造化マークダウンに変換
✅ テーブル抽出、画像抽出/キャプション付け、オーディオ/ビデオの文字起こし、Web ページのクローリング
✅ Docker と Skypilot を使用して簡単に導入可能
✅ コラボフレンドリー
✅ Gradio を活用したインタラクティブ UI
データはさまざまな形やサイズがあるため、処理するのは困難です。 OmniParse は、ドキュメント、画像、オーディオ、ビデオ、Web コンテンツなどのあらゆる種類のデータを取り込み、GenAI (LLM) に適した最も構造化された実用的な出力を取得できる取り込み/解析プラットフォームを目指しています。
重要
サーバーは Linux ベースのシステムでのみ動作します。これは、Windows または macOS と互換性のない特定の依存関係およびシステム固有の構成が原因です。
git clone https://github.com/adithya-s-k/omniparse
cd omniparse
仮想環境を作成します。
conda create -n omniparse-venv python=3.10
conda activate omniparse-venv
依存関係をインストールします。
poetry install
# or
pip install -e .
# or
pip install -r pyproject.toml
Docker で OmniParse を使用するには、次のコマンドを実行します。
docker pull savatar101/omniparse:0.1
# if you are running on a gpu
docker run --gpus all -p 8000:8000 savatar101/omniparse:0.1
# else
docker run -p 8000:8000 savatar101/omniparse:0.1
あるいは、Docker イメージをローカルで構築する場合は、次のように Docker コンテナを実行します。
docker build -t omniparse .
# if you are running on a gpu
docker run --gpus all -p 8000:8000 omniparse
# else
docker run -p 8000:8000 omniparse
サーバーを実行します。
python server.py --host 0.0.0.0 --port 8000 --documents --media --web
--documents
: ドキュメントの解析と取り込みに役立つすべてのモデル (Surya OCR シリーズのモデルと Florence-2) を読み込みます。--media
: Whisper モデルをロードしてオーディオ ファイルとビデオ ファイルを転写します。--web
: Selenium クローラーをセットアップします。モデルのダウンロード: サーバーを起動する前にモデルをダウンロードする場合
python download.py --documents --media --web
--documents
: ドキュメントの解析と取り込みに役立つすべてのモデル (Surya OCR シリーズのモデルと Florence-2) を読み込みます。--media
: Whisper モデルをロードしてオーディオ ファイルとビデオ ファイルを転写します。--web
: Selenium クローラーをセットアップします。 タイプ | サポートされている拡張機能 |
---|---|
書類 | .doc、.docx、.pdf、.ppt、.pptx |
画像 | .png、.jpg、.jpeg、.tiff、.bmp、.heic |
ビデオ | .mp4、.mkv、.avi、.mov |
オーディオ | .mp3、.wav、.aac |
ウェブ | 動的 Web ページ、http://.com |
Langchain、llamaindex、haystack の統合と互換性のあるクライアント ライブラリは近日中に提供される予定です。
エンドポイント: /parse_document
メソッド: POST
PDF、PowerPoint、または Word ドキュメントを解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/document" http://localhost:8000/parse_document
エンドポイント: /parse_document/pdf
メソッド: POST
PDF ドキュメントを解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/document.pdf" http://localhost:8000/parse_document/pdf
エンドポイント: /parse_document/ppt
メソッド: POST
PowerPoint プレゼンテーションを解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/presentation.ppt" http://localhost:8000/parse_document/ppt
エンドポイント: /parse_document/docs
メソッド: POST
Word 文書を解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/document.docx" http://localhost:8000/parse_document/docs
エンドポイント: /parse_image/image
メソッド: POST
画像ファイル (PNG、JPEG、JPG、TIFF、WEBP) を解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/image.jpg" http://localhost:8000/parse_media/image
エンドポイント: /parse_image/process_image
メソッド: POST
特定のタスクで画像を処理します。
可能なタスク入力: OCR | OCR with Region | Caption | Detailed Caption | More Detailed Caption | Object Detection | Dense Region Caption | Region Proposal
カールコマンド:
curl -X POST -F "image=@/path/to/image.jpg" -F "task=Caption" -F "prompt=Optional prompt" http://localhost:8000/parse_media/process_image
引数:
image
: 画像ファイルtask
: 処理タスク (キャプション、オブジェクト検出など)prompt
: 特定のタスクのオプションのプロンプトエンドポイント: /parse_media/video
メソッド: POST
ビデオ ファイル (MP4、AVI、MOV、MKV) を解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/video.mp4" http://localhost:8000/parse_media/video
エンドポイント: /parse_media/audio
メソッド: POST
オーディオ ファイル (MP3、WAV、FLAC) を解析します。
カールコマンド:
curl -X POST -F "file=@/path/to/audio.mp3" http://localhost:8000/parse_media/audio
エンドポイント: /parse_website/parse
メソッド: POST
URL を指定して Web サイトを解析します。
カールコマンド:
curl -X POST -H "Content-Type: application/json" -d '{"url": "https://example.com"}' http://localhost:8000/parse_website
引数:
url
: 解析する Web サイトの URL ?ラマインデックス |ラングチェーン | Haystack の統合が近日提供予定 データのバッチ処理 指定されたスキーマに基づいた動的チャンキングと構造化データ抽出
1 つの魔法の API: 必要なものをファイル プロンプトに入力するだけで、残りはすべて当社が処理します。
?動的なモデルの選択と外部 API のサポート
?複数のファイルを一度に処理するバッチ処理
? Surya OCR と Marker を置き換える新しいオープンソース モデル
最終目標: 現在使用されているすべてのさまざまなモデルを単一の MultiModel モデルに置き換えて、あらゆるタイプのデータを解析し、必要なデータを取得します。
深層学習モデルを使用しているため、最小 8 ~ 10 GB の VRAM を備えた GPU が必要です。
ドキュメント解析の制限
OmniParse は GPL-3.0 ライセンスに基づいてライセンスされています。詳細については、 LICENSE
を参照してください。このプロジェクトは内部で Marker を使用しており、商用ライセンスに従う必要があります。詳細は次のとおりです。
Marker および Surya OCR モデルは、開発とトレーニングの費用に資金を提供しながら、可能な限り広くアクセスできるように設計されています。研究や個人での使用は常に許可されていますが、商用使用にはいくつかの制限があります。モデルの重みは cc-by-nc-sa-4.0 に基づいてライセンスされています。ただし、直近 12 か月の総収益が 500 万ドル未満、かつ生涯にわたる VC/エンジェル資金調達額が 500 万ドル未満の組織については、この制限は免除されます。 GPL ライセンス要件 (デュアル ライセンス) を削除したり、収益制限を超えてウェイトを商業的に使用したりするには、提供されているオプションを確認してください。モデルウェイトのライセンスの詳細については、「マーカー」を参照してください。
このプロジェクトは、Vik Parchuri によって作成された注目すべき Marker プロジェクトに基づいています。このプロジェクトによって与えられたインスピレーションと基盤に感謝の意を表します。このプロジェクトで広く使用された OCR モデルについては Surya-OCR と Texify、そして貢献については Crawl4AI に特別に感謝します。
使用されているモデル:
これらのモデルへの貢献に感謝します。