转换利器:多格式文档一键转 Markdown 并集成 LLM
在数字化时代,信息传播变得便捷,但也面临格式兼容挑战。开源文档转 Markdown 工具应运而生,解决了格式转换难题,促进了内容的自由流通和协作。
Markdown,作为一种轻量级标记语言,因其简洁易读而成为技术写作、博客和文档管理的首选。它的简单性也降低了 LLM 处理文本时的复杂性,无需解析复杂的格式和样式。
本文 Kakuqo 将介绍微软开源的 MarkItDown 文档转换工具,它能够将不同类型的文档转换成 Markdown 格式的文档。该工具很火爆,开源仅一个多月,目前 Github 的 Star 数已达 25.9K。
MarkItDown 简介
MarkItDown 是一款将各种文件转换为 Markdown 的工具。目前它支持以下文档类型:
- PowerPoint(pptx)、Word(docx) 和 Excel(xlsx)
- Images (EXIF metadata and OCR)
- Audio (EXIF metadata and speech transcription)
- HTML、Text-based formats (CSV, JSON, XML)
- ZIP files (iterates over contents)
MarkItDown 使用示例
要测试 MarkItDown 的功能,我们可以使用 MarkItDown 项目提供的各种测试文件,这些文件所在的路径是:markitdown/tests/test_files。
docx 转 markdown
pptx 转 markdown
本地运行 MarkItDown
要在本地运行 MarkItDown,你需要确保本地已经安装了 Python。之后,你就可以通过 pip install markitdown 命令来安装 MarkItDown。
命令行使用
markitdown path-to-file.pdf > document.md
或者使用 -o 参数来设定输出的文件路径:
markitdown path-to-file.pdf -o document.md
Python API 集成
在 Python 中,使用 MarkItDown 很简单,只需几行代码就搞定了。
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)
其实 MarkItDown 不仅仅是一个文档转换工具,它也支持利用 AI 大语言模型来实现一些智能文档处理。比如,利用 gpt-4o 来为图片生成描述信息。
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("example.jpg")
print(result.text_content)
Docker
docker build -t markitdown:latest .
docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md
https://github.com/microsoft/markitdown