综合介绍
E2M(Everything to Markdown)是一个开源的Python库,旨在将多种文件格式转换为Markdown格式。该工具支持包括doc、docx、epub、html、htm、url、pdf、ppt、pptx、mp3和m4a在内的多种文件类型。E2M采用解析器-转换器架构,能够高效地解析和转换文件内容,提供灵活的配置选项,适用于数据检索增强生成(RAG)和模型训练或微调。E2M的目标是为用户提供高质量的数据转换服务,简化文档格式统一的过程。每种格式有专门的解析器和转换器,用Parser解析器从文件中提取文本和图像,用Converter转换器把提取的内容转为Markdown。
功能列表
- 文件解析:支持多种文件类型的解析,包括文本和图像数据。
- 格式转换:将解析后的数据转换为Markdown格式。
- 多种解析器和转换器:支持不同引擎和策略的解析器和转换器。
- 开源和灵活配置:提供开源代码和灵活的配置选项,用户可以根据需求进行定制。
- API服务:提供API服务,方便集成到其他应用中。
使用帮助
安装流程
- 创建环境:
conda create -n e2m python=3.10
conda activate e2m
- 更新pip:
pip install --upgrade pip
- 安装E2M:
- 通过git安装(推荐):
bash
pip install git+https://github.com/wisupai/e2m.git --index-url https://pypi.org/simple
- 通过pip安装:
bash
pip install --upgrade wisup_e2m
- 手动安装:
bash
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
- 通过git安装(推荐):
使用方法
- 启动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
,查看API文档和使用示例。
主要功能操作流程
- 文件解析和转换:
- 使用解析器解析文件内容:
from wisup_e2m.parsers import PdfParser parser = PdfParser() text_data = parser.parse('example.pdf')
- 使用转换器将解析后的内容转换为Markdown格式:
from wisup_e2m.converters import TextConverter converter = TextConverter() markdown_data = converter.convert(text_data)
- 自定义配置:
- 修改配置文件
config.yaml
,根据需求调整解析器和转换器的参数:
parsers: pdf: engine: 'unstructured' converters: text: engine: 'litellm'
- 修改配置文件
- 集成到其他应用:
- 使用API服务将E2M集成到其他应用中,发送HTTP请求进行文件解析和转换:
python
import requests
response = requests.post('http://127.0.0.1:8000/convert', files={'file': open('example.pdf', 'rb')})
markdown_data = response.text
- 使用API服务将E2M集成到其他应用中,发送HTTP请求进行文件解析和转换: