OmniParse
重要的
OmniParse 是一个平台,它可以提取和解析任何非结构化数据,将其转换为针对 GenAI (LLM) 应用程序优化的结构化、可操作数据。无论您处理的是文档、表格、图像、视频、音频文件还是网页,OmniParse 都可以将您的数据准备得干净、结构化,并可用于 RAG、微调等 AI 应用程序
试试看
特征
✅ 完全本地,无需外部 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 一起使用,请执行以下命令:
- 从 Docker Hub 中提取 OmniParse API Docker 镜像:
- 运行 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
本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。
本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。
评论(0)