중요한
OmniParse는 구조화되지 않은 모든 데이터를 GenAI(LLM) 애플리케이션에 최적화된 구조화되고 실행 가능한 데이터로 수집하고 구문 분석하는 플랫폼입니다. 문서, 표, 이미지, 비디오, 오디오 파일, 웹 페이지 등 어떤 작업을 하든 OmniParse는 데이터를 정리하고 구조화하며 RAG, 미세 조정 등과 같은 AI 애플리케이션에 사용할 수 있도록 준비합니다.
✅ 완전히 로컬이며 외부 API가 없습니다.
✅ T4 GPU에 적합
✅ 최대 20가지 파일 형식 지원
✅ 문서, 멀티미디어, 웹페이지를 고품질의 구조화된 마크다운으로 변환
✅ 테이블 추출, 이미지 추출/캡션, 오디오/비디오 전사, 웹페이지 크롤링
✅ Docker 및 Skypilot을 사용하여 쉽게 배포 가능
✅ Colab 친화적
✅ Gradio가 제공하는 대화형 UI
데이터의 모양과 크기가 다양하기 때문에 데이터를 처리하는 것은 어렵습니다. OmniParse는 문서, 이미지, 오디오, 비디오, 웹 콘텐츠 등 모든 유형의 데이터를 수집하고 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
: 셀레늄 크롤러를 설정합니다.모델 다운로드: 서버를 시작하기 전에 모델을 다운로드하려는 경우
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를 대체하는 새로운 오픈 소스 모델
최종 목표 : 현재 사용 중인 다양한 모델을 단일 MultiModel 모델로 대체하여 모든 유형의 데이터를 구문 분석하고 필요한 데이터를 얻습니다.
딥러닝 모델을 사용하기 때문에 최소 8~10GB의 VRAM을 갖춘 GPU가 필요합니다.
문서 분석 제한 사항
OmniParse는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE
참조하세요. 이 프로젝트는 따라야 하는 상용 라이센스가 있는 Marker를 내부적으로 사용합니다. 자세한 내용은 다음과 같습니다.
Marker 및 Surya OCR 모델은 개발 및 교육 비용을 지원하는 동시에 최대한 광범위하게 액세스할 수 있도록 설계되었습니다. 연구 및 개인적인 사용은 항상 허용되지만, 상업적인 사용에는 일부 제한이 있습니다. 모델의 가중치는 cc-by-nc-sa-4.0에 따라 라이센스가 부여됩니다. 그러나 최근 12개월 동안 총 수익이 미화 500만 달러 미만이고 평생 VC/엔젤 자금 조달이 500만 달러 미만인 조직의 경우 이 제한이 면제됩니다. GPL 라이선스 요구 사항(이중 라이선스)을 제거하거나 수익 한도를 초과하여 상업적으로 가중치를 사용하려면 제공된 옵션을 확인하세요. 모델 가중치 라이센스에 대한 자세한 내용은 마커를 참조하십시오.
이 프로젝트는 Vik Paruchuri가 만든 놀라운 Marker 프로젝트를 기반으로 합니다. 우리는 이 프로젝트가 제공한 영감과 기반에 감사를 표합니다. 이 프로젝트에 광범위하게 사용된 OCR 모델을 제공한 Surya-OCR 및 Texify와 기여한 Crawl4AI에 특별히 감사드립니다.
사용중인 모델:
이러한 모델에 기여해 주신 저자들에게 감사드립니다.