adithya-s-k /omniparse

Ingest, parse, and optimize any data format ➡️ from documents to multimedia ➡️ for enhanced compatibility with GenAI frameworks

★ 7,938⑂ 675👁 47⑃ 17● 91▤ 0
PythonCreated 2024-06-05omniparse.cognitivelab.in/
7,938
stars
+0+2+8
675
forks
47
watchers
17
prs
91
issues
0
releases
–
discussions

README

OmniParse

!OmniParse







 [!IMPORTANT]

OmniParse is a platform that ingests and parses any unstructured data into structured, actionable data optimized for GenAI (LLM) applications. Whether you are working with documents, tables, images, videos, audio files, or web pages, OmniParse prepares your data to be clean, structured, and ready for AI applications such as RAG, fine-tuning, and more

 Try it out


 Intro
https://github.com/adithya-s-k/omniparse/assets/27956426/457d8b5b-9573-44da-8bcf-616000651a13

 Features
✅ Completely local, no external APIs  \
✅ Fits in a T4 GPU \
✅ Supports ~20 file types  \
✅ Convert documents, multimedia, and web pages to high-quality structured markdown  \
✅ Table extraction, image extraction/captioning, audio/video transcription, web page crawling  \
✅ Easily deployable using Docker and Skypilot  \
✅ Colab friendly  \
✅ Interative UI powered by Gradio  

 Why OmniParse ?
It's challenging to process data as it comes in different shapes and sizes. OmniParse aims to be an ingestion/parsing platform where you can ingest any type of data, such as documents, images, audio, video, and web content, and get the most structured and actionable output that is GenAI (LLM) friendly.

 Installation
 [!IMPORTANT] 
 The server only works on Linux-based systems. This is due to certain dependencies and system-specific configurations that are not compatible with Windows or macOS.

bash
git clone https://github.com/adithya-s-k/omniparse
cd omniparse


Create a Virtual Environment:

bash
conda create -n omniparse-venv python=3.10
conda activate omniparse-venv


Install Dependencies:

bash
poetry install
 or
pip install -e .
 or
pip install -r pyproject.toml


 🛳️ Docker

To use OmniParse with Docker, execute the following commands:

1. Pull the OmniParse API Docker image from Docker Hub:
2. Run the Docker container, exposing port 8000:
 👉🏼Docker Image
bash
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


Alternatively, if you prefer to build the Docker image locally:
Then, run the Docker container as follows:

bash
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


 Usage

Run the Server:

bash
python server.py --host 0.0.0.0 --port 8000 --documents --media --web


- --documents: Load in all the models that help you parse and ingest documents (Surya OCR series of models and Florence-2).
- --media: Load in Whisper model to transcribe audio and video files.
- --web: Set up selenium crawler.

Download Models:
If you want to download the models before starting the server

bash
python download.py --documents --media --web


- --documents: Load in all the models that help you parse and ingest documents (Surya OCR series of models and Florence-2).
- --media: Load in Whisper model to transcribe audio and video files.

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON