
MarkItDown 指南20 种文档格式转 Markdown喂给 LLM 的正确姿势【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown周一早上你把上周的 PDF 报告丢给 LLM它回了句我无法解析二进制内容。MarkItDown 就是一个轻量 Python 工具把 PDF、Word、Excel、音频等 20 多种格式转成带结构的 Markdown专门给 LLM 和文本分析管线当输入。上图是仓库测试用的 PDF 论文首页转换链路里最常见的输入类型。它到底解决了什么LLM 的输入最终都是文本而你的文件大多是二进制。MarkItDown 干的事就是把这层隔断拆掉同时保留 Markdown 能表达的文档结构。直接喂原文件用 MarkItDown 转 MarkdownLLM 能否读取多数不行或只能拿到乱码可以纯文本结构信息丢失标题、列表、表格、链接保留额外成本自己写一堆解析代码一条命令说白了它不追求排版级的高保真只保证 LLM 读得懂、读得全。具体实现集中在 核心转换模块每种格式一个转换器方便你按需替换。三步跑起来环境要求只有一条Python 3.10 及以上。pip install markitdown[all] # 按需可换 markitdown[pdf, docx, xlsx]装完就有命令行工具一条命令出结果markitdown 报告.pdf -o 报告.mdPython 里两行就能接进现有流程from markitdown import MarkItDown print(MarkItDown().convert(报告.pdf).text_content)核心能力拆解这三件事是串起来的先保住结构再补上原格式里读不出来的信息图片、音频最后统一吐给 LLM。把文档骨架完整留下来转换不是抽文字而是重建结构。docx 的标题层级、列表、表格PDF 里的表格和链接都会按 Markdown 对应语法输出LLM 才能分清这是小标题和这是正文。result md.convert(技术文档.docx) print(result.markdown) # 含 # 标题、- 列表、| 表格 |让 LLM 描述图片里的内容图片本身 LLM 读不了MarkItDown 可以挂一个视觉模型替你读把图发给模型把描述写进输出。目前对 pptx 和图片文件生效。from openai import OpenAI md MarkItDown(llm_clientOpenAI(), llm_modelgpt-4o) print(md.convert(test_llm.jpg).text_content)上图就是测试图LLM 需要认出图形并复述图中的字符串。把音频变成文字会议录音这类 wav/mp3 文件装上audio-transcription依赖后可直接转录成文本再进 LLM省去单独跑 ASR 的步骤。pip install markitdown[audio-transcription] markitdown 会议录音.mp3 -o 录音.md实战把一批 PDF 论文转成 Markdown 入库场景很日常你攒了十几篇论文 PDF想批量做成 RAG 知识库的语料。不用每篇单独处理一个循环搞定mkdir -p converted for pdf in *.pdf; do markitdown $pdf -o converted/${pdf%.pdf}.md done ls converted | head跑完你会得到一批结构化的.md论文标题变成 H1章节层级、参考文献列表、表格都还在直接切片喂给向量库或 LLM 都行。老手的几条提醒报MissingDependencyException基本是没装对应依赖按报错里的 feature 名补装即可比如pip install markitdown[pdf]。处理用户上传的文件时别直接convert()它什么路径、什么 URI 都认。只读本地就用convert_local()网络文件自己requests.get后走convert_response()权限最小化。大文件走流式接口别整块读进内存md.convert_stream(open(大文件.pdf, rb))。扫描版 PDF 内置转换器只能拿到很少的文字要接markitdown-ocr插件配视觉 LLM或 Azure Document Intelligence别指望零配置出奇迹。常见问题Q扫描版 PDF 转出来是空的怎么办A说明里面没有文本层。装markitdown-ocr插件并传入llm_client或改用 Azure 文档智能端点。Q输出能直接给人看吗A大致可读但它的目标是机器消费。要排版级高保真选专门的文档转换工具。Q能直接传网页链接吗A可以convert(https://...)会自行抓取想自己控制请求就用convert_response(response)。Q第三方插件怎么找、怎么开A装好插件后markitdown --list-plugins查看转换时加--use-plugins启用默认是关闭的。同一份 PDF 论文转换后标题、作者、摘要各归各位。回到标题那句话把 20 种格式统一成 Markdown就是喂 LLM 前最省事的一步预处理。下一步很简单——挑一份你手边的 PDF 或 Excel敲一条markitdown 文件名 -o out.md看看输出长什么样。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考