重要的
OmniParse 是一個平台,可將任何非結構化資料提取並解析為針對 GenAI (LLM) 應用程式最佳化的結構化、可操作的資料。無論您正在處理文件、表格、圖像、影片、音訊檔案或網頁,OmniParse 都能讓您的資料變得乾淨、結構化,並為 RAG、微調等 AI 應用程式做好準備
✅ 完全在地化,無外部API
✅ 適合 T4 GPU
✅ 支援約 20 種文件類型
✅ 將文件、多媒體和網頁轉換為高品質的結構化 Markdown
✅ 表格擷取、影像擷取/字幕、音訊/視訊轉錄、網頁抓取
✅ 使用 Docker 和 Skypilot 輕鬆部署
✅ Colab 友好
✅ 由 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
若要將 OmniParse 與 Docker 結合使用,請執行下列命令:
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
:設定硒爬蟲。下載模型:如果您想在啟動伺服器之前下載模型
python download.py --documents --media --web
--documents
:載入所有幫助您解析和攝取文件的模型(Surya OCR 系列模型和 Florence-2)。--media
:載入 Whisper 模型以轉錄音訊和視訊檔案。--web
:設定硒爬蟲。 類型 | 支援的擴展 |
---|---|
文件 | .doc、.docx、.pdf、.ppt、.pptx |
圖片 | .png、.jpg、.jpeg、.tiff、.bmp、.heic |
影片 | .mp4、.mkv、.avi、.mov |
聲音的 | .mp3、.wav、.aac |
網路 | 動態網頁,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 的網站。
捲曲命令:
curl -X POST -H "Content-Type: application/json" -d '{"url": "https://example.com"}' http://localhost:8000/parse_website
論點:
url
: 要解析的網站的 URL ?駱駝索引 |朗鏈| Haystack 整合即將推出 批次處理資料 基於指定架構的動態分塊和結構化資料擷取
一個神奇的 API:只需在您的文件提示中輸入您想要的內容,我們將處理其餘的事情
?動態模型選擇和對外部 API 的支持
?一次處理多個文件的批次
?新的開源模型取代 Surya OCR 和 Marker
最終目標:用單一多模型模型取代目前使用的所有不同模型,以解析任何類型的資料並取得您需要的資料。
由於我們使用深度學習模型,因此需要具有最小 8~10 GB VRAM 的 GPU。
文件解析限制
OmniParse 根據 GPL-3.0 許可證獲得許可。請參閱LICENSE
以了解更多資訊。該專案在底層使用了 Marker,它具有需要遵循的商業許可證。詳細資訊如下:
Marker 和 Surya OCR 模型旨在盡可能廣泛地訪問,同時仍資助開發和培訓成本。研究和個人使用始終是允許的,但商業用途有一些限制。模型的權重根據 cc-by-nc-sa-4.0 獲得許可。然而,對於最近 12 個月內總收入低於 500 萬美元且終身籌集的風險投資/天使資金低於 500 萬美元的任何組織,可以免除此限制。若要刪除 GPL 授權要求(雙重授權)和/或在收入限制之上使用商業權重,請查看提供的選項。有關模型權重許可的更多信息,請參閱標記
該專案建立在 Vik Paruchuri 創建的卓越 Marker 專案的基礎上。我們對這個項目提供的靈感和基礎表示感謝。特別感謝 Surya-OCR 和 Texify 在該專案中廣泛使用的 OCR 模型,並感謝 Crawl4AI 的貢獻。
使用的型號:
感謝作者對這些模型的貢獻。