omniparse

omniparse

多类型非结构化数据解析与结构化平台

OmniParse是一个专注于非结构化数据处理的开源平台。该平台能够解析文档、表格、图像、视频、音频和网页等多种格式,将其转化为结构化数据,以便于生成式AI应用使用。OmniParse支持约20种文件类型,具备本地处理能力,无需依赖外部API。这使其适用于多种AI应用场景,包括检索增强生成(RAG)和模型微调等。

OmniParse结构化数据文档解析多媒体处理网页爬取Github开源项目

OmniParse

OmniParse GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests License

[!重要]

OmniParse是一个平台,可以摄取和解析任何非结构化数据,将其转换为结构化的、可操作的数据,专为生成式人工智能(LLM)应用程序优化。无论您处理的是文档、表格、图像、视频、音频文件还是网页,OmniParse都能将您的数据准备得干净、结构化,随时可用于人工智能应用,如RAG、微调等。

立即体验

在Colab中打开

简介

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

特性

✅ 完全本地化,无需外部API
✅ 适用于T4 GPU
✅ 支持约20种文件类型
✅ 将文档、多媒体和网页转换为高质量的结构化Markdown
✅ 表格提取、图像提取/描述、音频/视频转录、网页爬取
✅ 使用Docker和Skypilot轻松部署
✅ 兼容Colab
✅ 基于Gradio的交互式用户界面

为什么选择OmniParse?

处理数据是一项挑战,因为数据以不同的形式和大小呈现。OmniParse旨在成为一个摄取/解析平台,您可以在其中摄取任何类型的数据,如文档、图像、音频、视频和网页内容,并获得最结构化和可操作的输出,这些输出对生成式人工智能(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 # 或 pip install -e . # 或 pip install -r pyproject.toml

🛳️ Docker

要使用Docker运行OmniParse,请执行以下命令:

  1. 从Docker Hub拉取OmniParse API Docker镜像:
  2. 运行Docker容器,暴露8000端口: 👉🏼Docker镜像
docker pull savatar101/omniparse:0.1 # 如果您在GPU上运行 docker run --gpus all -p 8000:8000 savatar101/omniparse:0.1 # 否则 docker run -p 8000:8000 savatar101/omniparse:0.1

或者,如果您更喜欢在本地构建Docker镜像: 然后,按如下方式运行Docker容器:

docker build -t omniparse . # 如果您在GPU上运行 docker run --gpus all -p 8000:8000 omniparse # 否则 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
<details> <summary><h2>API端点</h></summary>

与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 显存的 GPU。

文档解析局限性

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

许可证

OmniParse 使用 GPL-3.0 许可证。详情请参阅 LICENSE。 该项目在底层使用 Marker,需要遵循其商业许可。详情如下:

商业使用

Marker 和 Surya OCR 模型旨在尽可能广泛地accessible,同时仍能为开发和训练成本提供资金。研究和个人使用始终被允许,但商业使用有一些限制。 模型权重采用 cc-by-nc-sa-4.0 许可。然而,对于最近 12 个月总收入低于 500 万美元且累计风险投资/天使投资融资低于 500 万美元的任何组织,此限制将被豁免。要删除 GPL 许可要求(双重许可)和/或在超过收入限制的情况下商业使用权重,请查看提供的选项。 有关模型权重许可的更多信息,请参阅 Marker

致谢

本项目基于 Vik Paruchuri 创建的出色的 Marker 项目。我们对该项目提供的灵感和基础表示感谢。特别感谢 Surya-OCRTexify 提供本项目广泛使用的 OCR 模型,以及 Crawl4AI 的贡献。

使用的模型:

  • Surya OCR、Detect、Layout、Order 和 Texify
  • Florence-2 base
  • Whisper Small

感谢这些模型的作者们的贡献。


联系方式

如有任何疑问,请发送邮件至 adithyaskolavi@gmail.com 与我们联系。

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多