项目简介
E2M 是一个能够把多种文件类型解析并转换成 Markdown 格式的 Python 库,通过解析器+转换器的架构,实现对 doc, docx, epub, html, htm, url, pdf, ppt, pptx, mp3, m4a 等多种文件格式的转换。
✨E2M 项目的终极目标是为了 RAG 和模型训练、微调,提供高质量的数据。
项目的核心架构:
-
解析器:负责将各种文件类型解析为文本或图片数据
-
转换器:负责将文本或图片数据转换为 Markdown 格式
一般来说,对于任意类型的文件,需要先运行解析器,获取文件内部的 text、image 等数据,然后再运行转换器,将数据转换为 Markdown 格式。
📂 所有的 Parser 和 Converter
Parser | ||
---|---|---|
Parser Type | Engine | Supported File Type |
PdfParser | surya_layout, marker, unstructured | |
DocParser | pandoc, xml | doc |
DocxParser | pandoc, xml | docx |
PptParser | unstructured | ppt |
PptxParser | unstructured | pptx |
UrlParser | unstructured, jina, firecrawl | url |
EpubParser | unstructured | epub |
HtmlParser | unstructured | html, htm |
VoiceParser | openai_whisper_api, openai_whisper_local, SpeechRecognition | mp3, m4a |
Converter | ||
---|---|---|
Converter Type | Engine | Strategy |
ImageConverter | litellm, zhipuai (图像识别表现不佳,不推荐) | default |
TextConverter | litellm, zhipuai | default |
转换器支持的模型
-
Litellm: https://docs.litellm.ai/docs/providers/
-
Zhipuai: https://open.bigmodel.cn/dev/howuse/model
📦 安装
创建环境:
conda create -n e2m python=3.10
conda activate e2m
更新 pip:
pip install --upgrade pip
使用 pip 安装 E2M:
# 选项 1: 通过git安装,最推荐
pip install git+https://github.com/wisupai/e2m.git --index-url https://pypi.org/simple
# 选项 2: 通过pip安装
pip install --upgrade wisup_e2m
# 选项 3: 手动安装
git clone https://github.com/wisupai/e2m.git
cd e2m
pip install poetry
poetry build
pip install dist/wisup_e2m-0.1.63-py3-none-any.whl
启动API服务
gunicorn wisup_e2m.api.main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
查看API文档:
-
http://127.0.0.1:8000/docs
CLI 命令行工具
使用marker转换pdf
转换单个pdf:
marker_single /path/to/file.pdf /path/to/output/folder --batch_multiplier 2 --max_pages 10
批量转换pdf:
marker /path/to/input/folder /path/to/output/folder --workers 4 --max 10 --min_length 10000
项目链接
https://github.com/wisupai/e2m
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)