乐于分享
好东西不私藏

微软开源 Office 转 Markdown 神器!给 LLM 喂数据就靠它了

微软开源 Office 转 Markdown 神器!给 LLM 喂数据就靠它了

你手头有一堆 PDF、Word、PPT,想喂给大模型做 RAG 或者知识库,结果发现:

PDF 复制出来格式全乱,Word 里的表格提取出来对不齐,PPT 的文本散落在各个文本框里。

你想把它们变成 Markdown——LLM 读得最舒服的格式——但一个个手动转,费时费力。

微软开源了一个工具叫 MarkItDown,GitHub 上 125K Star,专门解决这个问题。

GitHub:https://github.com/microsoft/markitdown

它能转什么

MarkItDown 支持的格式,基本覆盖了日常遇到的所有文件类型:

  • • PDF → Markdown
  • • Word(.docx) → Markdown
  • • PowerPoint(.pptx) → Markdown
  • • Excel(.xlsx) → Markdown
  • • 图片(JPEG/PNG,支持 OCR 提取文字)→ Markdown
  • • HTML → Markdown
  • • 音频(自动语音转文字)→ Markdown
  • • Outlook 邮件 → Markdown
  • • CSV / JSON / XML → Markdown
  • • ZIP 压缩包(批量处理)→ Markdown

并且会保留原文档的结构——标题层级、列表、表格、链接,都不会丢。

为什么是 Markdown

LLM 对 Markdown 的"理解力"远超纯文本。

OpenAI 的 GPT-4o 等主流模型,在训练时就接触了大量 Markdown 格式的数据,它们"天生"就懂 Markdown。你给模型喂一份排版清晰的 Markdown,比喂一份纯文本,它能提取的信息量差很多。

而且 Markdown 的 token 效率也更高——同样的内容,Markdown 占的 token 比 HTML 少得多。

怎么用

安装一行命令:

pip install 'markitdown[all]'

命令行直接转:

markitdown example.pdf > output.md

Python 里调用:

from markitdown import MarkItDownmd = MarkItDown()result = md.convert("example.pptx")print(result.text_content)

如果你需要更高质量的结果,还可以接入 Azure Document Intelligence 或 Azure Content Understanding,用云端 API 做更深度的文档解析。

来自微软 AutoGen 团队

MarkItDown 由微软的 AutoGen 团队开发(就是那个做多 Agent 框架的团队)。

从 2024 年底发布到现在,一年多时间拿到了 125K Star,8K+ Fork。社区还贡献了 OCR 插件、各种格式扩展,生态一直在长。

对于做 RAG、知识库、AI 应用的人来说,这可能就是那个"每天都要用"的工具。

GitHub:https://github.com/microsoft/markitdown

写在最后

在 AI 应用开发里,有一个常被低估的环节:数据准备

模型越来越强,但如果喂给模型的数据格式乱、内容残缺,再强的模型也发挥不出来。

MarkItDown 做的就是:把各种乱七八糟的文档,变成 LLM 最能吸收的格式。

微软做这种"不起眼但天天用"的工具,确实有一手。