微软开源MarkItDown:一键将PDF/Word/PPT转Markdown,LLM友好的文档转换神器

项目简介

MarkItDown是微软官方开源的轻量级Python文档转换工具,可以将PDF、Word、PPT、Excel、图片、音频、HTML等数十种格式的文件统一转换为Markdown。它由微软AutoGen团队开发和维护,目前在GitHub上已获得超过10万颗星标。

MarkItDown的设计理念非常清晰:专注于生成对LLM(大型语言模型)友好的文本输出。在保持文档结构(标题、列表、表格、链接等)的同时,最大程度减少不必要的格式噪音。输出虽然人类阅读也相当友好,但它的核心目标是供AI进行文本分析使用。

支持的文件格式

MarkItDown目前支持转换以下格式:

  • 办公文档:PDF、Word(.docx)、PowerPoint(.pptx)、Excel(.xlsx/.xls)、Outlook邮件
  • 多媒体:图片(EXIF元数据和OCR文字识别)、音频(EXIF元数据和语音转录)
  • 网页和文本:HTML、CSV、JSON、XML
  • 其他:ZIP文件(自动遍历内容)、YouTube URL(自动获取字幕)、EPUB电子书

为什么选择Markdown?

Markdown非常接近纯文本,标记最少,但仍然能表示重要的文档结构。主流LLM如GPT-4o本身就能”说”Markdown,在训练中接触过大量Markdown格式的文本,对这种格式理解得非常好。

此外,Markdown约定俗成的格式对Token消耗也非常高效——用更少的Token表达相同的信息量,这对于需要处理大量文档的AI应用来说意义重大。

安装步骤

MarkItDown需要Python 3.10及以上版本。推荐使用虚拟环境:

方式一:pip安装(推荐)

pip install 'markitdown[all]'

以上命令会安装所有可选依赖。如果只需要部分格式支持,可以分批安装:

pip install 'markitdown[pdf,docx,pptx]'  # 只安装PDF/DOCX/PPTX支持

方式二:源码安装

git clone git@github.com:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'

使用方法

命令行转换:

markitdown path-to-file.pdf > document.md
markitdown path-to-file.pptx -o output.md

管道输入:

cat path-to-file.pdf | markitdown

Python代码中使用:

from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("document.pdf")
print(result.text_content)

MCP服务器支持

MarkItDown还提供了MCP(Model Context Protocol)服务器,可以与Claude Desktop等AI应用无缝集成,方便在AI工作流中直接调用文档转换能力。

OCR插件

markitdown-ocr插件可以使用LLM Vision对PDF、DOCX、PPTX和XLSX中的嵌入图片进行OCR文字识别,无需安装额外的ML库或二进制依赖。

pip install markitdown-ocr
pip install openai  # 或任何OpenAI兼容客户端

适用场景

  • RAG知识库构建:将各种格式的文档批量转换为Markdown,供向量数据库索引
  • AI文档分析:让LLM能够理解和分析PDF报告、论文等技术文档
  • 文档归档和迁移:批量将历史文档统一为纯文本格式保存
  • PPT内容提取:快速提取PPT中的文字内容用于AI分析

开源协议

本项目采用MIT开源许可证。


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容