OmniParse

 GitHub 星星 GitHub 分叉 GitHub 问题 GitHub 拉取请求 执照

重要的

OmniParse 是一个平台,它可以提取和解析任何非结构化数据,将其转换为针对 GenAI (LLM) 应用程序优化的结构化、可操作数据。无论您处理的是文档、表格、图像、视频、音频文件还是网页,OmniParse 都可以将您的数据准备得干净、结构化,并可用于 RAG、微调等 AI 应用程序

试试看

在 Colab 中打开

特征

✅ 完全本地,无需外部 API
✅ 适合 T4 GPU
✅ 支持 ~20 种文件类型
✅ 将文档、多媒体和网页转换为高质量的结构化 markdown
✅ 表格提取、图像提取/字幕、音频/视频转录、网页抓取
✅ 使用 Docker 和 Skypilot 轻松部署
✅ Colab 友好
✅ 由 Gradio 提供支持的交互式 UI

为什么选择 OmniParse?

数据具有不同的形状和大小,因此处理数据非常具有挑战性。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 一起使用,请执行以下命令:

  1. 从 Docker Hub 中提取 OmniParse API Docker 镜像:
  2. 运行 Docker 容器,公开端口 8000:👉🏼 Docker Image
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
网页 动态网页,http://.com

API 端点

与 Langchain、llamaindex 和 haystack 集成兼容的客户端库即将推出。

文档解析

解析任何文档

端点:/parse_document 方法:POST

解析 PDF、PowerPoint 或 Word 文档。

Curl 命令:

curl -X POST -F "file=@/path/to/document" http://localhost:8000/parse_document

解析 PDF

端点:/parse_document/pdf 方法:POST

解析 PDF 文档。

Curl 命令:

curl -X POST -F "file=@/path/to/document.pdf" http://localhost:8000/parse_document/pdf

解析 PowerPoint

端点:/parse_document/ppt 方法:POST

解析 PowerPoint 演示文稿。

Curl 命令:

curl -X POST -F "file=@/path/to/presentation.ppt" http://localhost:8000/parse_document/ppt

解析 Word 文档

端点:/parse_document/docs 方法:POST

解析 Word 文档。

Curl 命令:

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 命令:

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 命令:

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:处理任务(例如,Caption、Object Detection)
  • prompt:某些任务的可选提示

解析视频

端点:/parse_media/video 方法:POST

解析视频文件(MP4、AVI、MOV、MKV)。

Curl 命令:

curl -X POST -F "file=@/path/to/video.mp4" http://localhost:8000/parse_media/video

解析音频

端点:/parse_media/audio 方法:POST

解析音频文件(MP3、WAV、FLAC)。

Curl 命令:

curl -X POST -F "file=@/path/to/audio.mp3" http://localhost:8000/parse_media/audio

网站解析

解析网站

端点:/parse_website/parse 方法:POST

根据给定的 URL 来解析网站。

Curl 命令:

curl -X POST -H "Content-Type: application/json" -d '{"url": "https://example.com"}' http://localhost:8000/parse_website

参数:

  • url:需要解析的网站的 URL

即将推出/路线图

🦙 LlamaIndex | Langchain | Haystack 集成即将推出 📚 批量处理数据 ⭐ 根据指定模式进行动态分块和结构化数据提取
🛠️ 一个神奇的 API:只需在文件提示中输入您想要的内容,我们将处理剩下的事情
🔧 动态模型选择和对外部 API 的支持
📄 批处理可同时处理多个文件
📦 新的开源模型来取代 Surya OCR 和 Marker

最终目标:用单个多模型模型替换当前正在使用的所有不同模型,以解析任何类型的数据并获取所需的数据。

限制

由于我们使用深度学习模型,因此需要至少具有 8~10 GB VRAM 的 GPU。\

文档解析限制 \

  • 作为底层 PDF 解析器的Marker不会将 100% 的方程式转换为 LaTeX,因为它必须先检测然后转换它们。
  • 它擅长解析英语,但对于中文等语言可能会有困难
  • 表格的格式并不总是 100% 正确;文本可能会出现在错误的列中。
  • 空格和缩进并不总是受到尊重。
  • 并非所有的线/跨度都能正确连接。
  • 此功能最适合不需要大量 OCR 的数字 PDF。它针对速度进行了优化,并使用有限的 OCR 来修复错误。
  • 为了使所有模型都适合 GPU,我们使用最小的变体,这可能无法提供一流的性能。

执照

OmniParse 遵循 GPL-3.0 许可证。LICENSE有关详细信息,请参阅。该项目在底层使用 Marker,它具有需要遵循的商业许可证。以下是详细信息:

商业用途

Marker 和 Surya OCR 模型旨在尽可能广泛地使用,同时仍能为开发和培训成本提供资金。始终允许研究和个人使用,但对商业使用有一些限制。模型权重根据 cc-by-nc-sa-4.0 获得许可。但是,对于最近 12 个月内总收入低于 500 万美元且一生筹集的 VC/天使资金低于 500 万美元的任何组织,此限制均不受限制。要删除 GPL 许可要求(双重许可)和/或在收入限制之外将权重用于商业用途,请查看提供的选项。有关模型权重许可的更多信息,请参阅Marker

仓库地址

GitHub:https://github.com/adithya-s-k/omniparse

网站免责声明
一、资源来源与版权

本网站所有资源及文章均源自互联网,经过我们的收集整理后呈现给用户。我们明确声明,本网站不直接参与任何资源的创作或制作过程,仅作为信息的传递者。若您发现本网站上的任何内容侵犯了您的合法权益(包括但不限于版权、商标权、专利权等),请立即通过以下联系方式与我们取得联系。在收到您的反馈并核实情况后,我们将迅速采取相应措施,包括但不限于删除侵权内容,以确保您的合法权益得到及时保护。

二、资源使用与责任

资源鉴别:本网站发布的资源可能包含水印、广告链接或其他引流信息,这是由资源原始来源决定的。我们提醒用户在使用这些资源时,应保持警惕,自行鉴别信息的真实性和适用性,避免受到不必要的干扰或误导。 非商业用途:本网站提供的资源仅供学习、研究及非商业性交流使用。我们鼓励用户尊重原创,支持正版。若您计划将本站资源用于商业目的,请务必先获得合法授权,否则因此产生的一切法律后果将由下载用户自行承担。

三、联系方式

为了更好地服务用户,解决您在使用本网站过程中可能遇到的问题或反馈侵权信息,我们提供了以下联系方式(请将“#”替换为“@”后使用): 联系方式:contact#kukaylib.com

四、免责条款

本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。

五、更新与修订

本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。