MarkItDown 是一个轻量级的 Python 实用程序,用于将各种文件转换为 Markdown,以便用于 LLM 和相关的文本分析流程。就这一点而言,它与 textract 最为相似,但更侧重于将重要的文档结构和内容(包括标题、列表、表格、链接等)保留为 Markdown。虽然输出结果通常相当美观且人性化,但它旨在供文本分析工具使用——对于需要高保真文档转换以供人类使用的情况,可能并非最佳选择。
MarkItDown 目前支持以下格式的转换:
Markdown 与纯文本极其接近,标记和格式极少,但仍提供了一种表示重要文档结构的方法。主流的法学硕士(LLM),例如 OpenAI 的 GPT-4o,本身就“说”Markdown,并且经常主动将 Markdown 融入到他们的回复中。这表明他们已经接受过大量 Markdown 格式文本的训练,并且对其理解得很好。此外,Markdown 的约定也非常高效地使用标记。
MarkItDown 需要 Python 3.10 或更高版本。建议使用虚拟环境以避免依赖项冲突。 在标准 Python 安装中,您可以使用以下命令创建并激活虚拟环境:
python -m venv .venv source .venv/bin/activate
如果使用 uv,您可以使用以下命令创建虚拟环境:
uv venv --python=3.12 .venv source .venv/bin/activate # NOTE: Be sure to use 'uv pip install' rather than just 'pip install' to install packages in this virtual environment
如果您使用的是 Anaconda,则可以使用以下命令创建虚拟环境:
conda create -n markitdown python=3.12 conda activate markitdown
要安装 MarkItDown,请使用 pip:pip install 'markitdown[all]'。或者,您也可以从源代码安装:
git clone git@github.com:microsoft/markitdown.git cd markitdown pip install -e 'packages/markitdown[all]'
命令行
markitdown path-to-file.pdf > document.md
或者使用-o指定输出文件:
markitdown path-to-file.pdf -o document.md
您还可以通过管道传输内容:
cat path-to-file.pdf | markitdown
MarkItDown 具有用于激活各种文件格式的可选依赖项。在本文档的前面,我们使用 [all] 选项安装了所有可选依赖项。但是,您也可以单独安装它们以获得更好的控制。例如:
pip install 'markitdown[pdf, docx, pptx]'