Project Icon

omniparse

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

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

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

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 显存的 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 与我们联系。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号