乐于分享
好东西不私藏

把 PDF 扔进 LLM 之前,先用这个工具处理一下

把 PDF 扔进 LLM 之前,先用这个工具处理一下

微软开源的 markitdown[1] 快到 11 万 star 了,功能就一件事:把各种文件转成 Markdown。

支持的格式挺全的——PDF、Word、PPT、Excel、图片、音频,一行命令搞定:

1markitdown file.pdf >out.md

为什么要多这一步

直接把 PDF 丢给 LLM,模型拿到的其实是一堆乱序的字符流,表格结构没了,标题层级没了,有时候连段落都是乱的。转成 Markdown 之后,结构信息保留下来,模型读起来更准,你用的 token 还更少。

★ 

LLM 原生喜欢 Markdown,丢结构化文件进去比直接读更省 token 也更保信息。

这不是玄学,是实际跑过能感受到的差距。尤其是 Excel 这类表格文件,直接扔进去很容易让模型搞混行列关系,转成 Markdown 表格之后清晰很多。

最近新加的东西

支持 MCP server 了,可以直接接 Claude Desktop。意思是你不用手动跑命令,Claude 可以在对话里直接调用 markitdown 来处理文件,整个流程更顺。

markitdown 使用示例

几个实际用得上的场景

本地知识库处理:把公司内部的 Word 文档、PDF 报告批量转成 Markdown,再喂给 RAG 系统,检索质量比直接解析 PDF 好不少。

音频转文字再结构化:音频文件它也能处理,转录之后直接是 Markdown 格式,省掉一道手工整理的工序。

配合其他 AI 工具:原文提到在 OpenClaw 里用也很顺手,本质上是同一个逻辑——凡是要把文件内容塞进上下文的场景,提前格式化一步都有收益。

装起来

2pip install markitdown

基础用法就是上面那一行。想接 MCP 的话,仓库里有单独的配置说明,Claude Desktop 那边加一下 server 配置就行。

项目地址:github.com/microsoft/markitdown[2]

工具本身不复杂,但是在「把文件喂给 AI」这个环节上,它确实把一个容易被忽视的坑填掉了。

本文内链接

[1] 

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

[2] 

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