MarkItDown 是由微软开发的一个轻量级 Python 工具,用于将各类文档和文件转换为结构化的 Markdown 格式,适用于大型语言模型(LLM)处理和文本分析任务。其目标是尽可能保留文档中的结构信息,如标题、列表、表格、链接等,而不仅仅是提取原始文本。
支持的文件类型
- Word 文档
- PowerPoint 幻灯片
- Excel 表格
- 图片(支持 EXIF 元数据和 OCR 文字识别)
- 音频文件(EXIF 元数据和语音转写)
- HTML 页面
- 文本格式(如 CSV、JSON、XML)
- ZIP 压缩包(遍历其中内容)
- YouTube 视频链接
- EPUB 电子书等
适用场景
- 为大语言模型准备输入数据
- 自动化文档结构提取
- 将文件内容标准化为 Markdown,用于进一步处理或存储
安装方式
可以通过 pip 安装完整版本:
pip install 'markitdown[all]'
或从源代码安装:
git clone [email protected]:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'
命令行使用示例
将文件转换为 Markdown 并输出到终端:
markitdown path-to-file.pdf > document.md
或使用 -o 参数指定输出文件:
markitdown path-to-file.docx -o output.md
特点说明
- 面向结构化信息提取而非高保真文档转化
- 输出文本适合机器处理,也具有人类可读性
- 使用文件流处理方式,无需创建临时文件
- 提供 MCP(Model Context Protocol)服务,便于集成到 LLM 应用中
开源协议
该项目使用 MIT 协议开源,支持自由使用和商业集成