摘要:在处理各类文档时,我们经常需要从 PDF、Word、PPT 等格式中提取内容进行分析或用于大语言模型。
在处理各类文档时,我们经常需要从 PDF、Word、PPT 等格式中提取内容进行分析或用于大语言模型。
但原始格式往往过于复杂,提取出的纯文本又丢失了重要的结构信息,让内容变得难以理解和处理。
虽有一些文档转换工具,但大多数要么只支持少数格式,要么转换质量不佳,往往需要在多个工具间切换,还要手动调整格式,费时又费力,特别是处理大量文档时简直令人抓狂。
最近发现了一款名为 MarkItDown 的开源工具,它能将各种文件格式一键转换为 Markdown,保留文档的标题、列表、表格等重要结构,完美适配大语言模型和文本分析流程,让文档处理变得轻松高效。
安装 MarkItDown 非常简单,只需几个简单的步骤就能开始使用这款强大的文档转换工具。
最基本的安装方式是通过 pip 安装包含所有功能的完整版:
pip install 'markitdown[all]'如果只需要特定格式的转换功能,还可以选择性安装依赖,节省空间和资源:
pip install 'markitdown[pdf,docx,pptx]'目前支持的可选依赖组合包括:
[pdf]:PDF 文件转换[docx]:Word 文档转换[pptx]:PowerPoint 演示文稿转换[xlsx] 和 [xls]:Excel 表格转换[audio-transcription]:音频转录功能[youtube-transcription]:YouTube 视频转录对于喜欢使用 docker 的朋友,也可以通过以下命令使用 Docker 版本:
docker build -t markitdown:latest .docker run --rm-i markitdown:latest output.md安装完成后,就可以立即开始使用这款强大的文档转换神器了!
MarkItDown 的使用非常直观简单,以下是几种常见的使用方法:
命令行使用:
最基本的命令行用法,将转换结果输出到标准输出:
markitdown path-to-file.pdf > document.md或者使用 -o 参数直接指定输出文件:
markitdown path-to-file.pdf -o document.md还可以通过管道传递内容:
cat path-to-file.pdf | markitdownPython API 使用:
在 Python 程序中集成 MarkItDown 同样简单:
frommarkitdownimportMarkItDownmd=MarkItDown(enable_plugins=False) # 设置为 True 启用插件result=md.convert("test.xlsx")print(result.text_content)如果想使用 Azure Document Intelligence 进行高级转换:
frommarkitdownimportMarkItDownmd=MarkItDown(docintel_endpoint="")result=md.convert("test.pdf")print(result.text_content)或者使用大语言模型为图像生成描述:
frommarkitdownimportMarkItDownfromopenaiimportOpenAIclient=OpenAImd=MarkItDown(llm_client=client, llm_model="gpt-4o")result=md.convert("example.jpg")print(result.text_content)插件使用:
列出已安装的插件:
markitdown --list-plugins启用插件:
markitdown --use-plugins path-to-file.pdf这些简单的命令就能帮助我们充分发挥 MarkItDown 的强大功能!
MarkItDown 这款开源转换工具彻底解决了我们在文档处理中的痛点。
无论是需要将各种文档导入大语言模型进行分析,还是整理归档大量资料,或是提取文档中的结构化信息,都能更高效地完成工作。
有了它,我们不仅能节省大量手动转换和格式调整的时间,还能获得结构完整、质量更高的 Markdown 文档,让文档处理变得更加便捷、智能和高效!
GitHub 项目地址:https://github.com/microsoft/markitdown
来源:AIGC研究社一点号