微软强推的 md 神器 MarkItDown 介绍

1,784 阅读2分钟

简介

Microsoft 开源的 MarkItDown 是一个功能强大的 Python 工具,专注于将多种文件格式(如 Office 文档、图像、音频等)转换为标准化的 Markdown 格式。

一、工具简介 MarkItDown 由微软开发,旨在简化文档管理和知识库构建流程。它通过智能解析和转换技术,支持 OCR 文字识别、元数据提取、语音转文字等功能,特别适合需要结构化处理多源数据的场景。

二、核心功能

  • 支持格式广泛
    • 文档类:Word、Excel、PPT、HTML、PDF、ZIP(可遍历内容)。
    • 多媒体类:图像(支持 EXIF 元数据和 OCR)、音频(语音转录为文本)。
    • 结构化数据:CSV、JSON、XML 等文本格式。
  • 智能处理能力
    • 集成大型语言模型(如 GPT-4o),可自动生成图像描述或优化文本内容。
    • 支持 Docker 容器化部署,简化环境依赖。

目前在 GitHub 已经收到 56.3k star🌟。 在这里插入图片描述

使用

  1. 安装
git clone git@github.com:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'
  1. 命令行
markitdown path-to-file.pdf > document.md
# -o 指定输出文件
markitdown path-to-file.pdf -o document.md
# pipe 内容
cat path-to-file.pdf | markitdown
  1. 可选依赖项:pip install 'markitdown[pdf, docx, pptx]' 目前,以下可选依赖项可供使用:
    • [all]:安装所有可选依赖项。
    • [pptx]:安装用于 PowerPoint 文件的依赖项。
    • [docx]:安装用于 Word 文件的依赖项。
    • [xlsx]:安装用于 Excel 文件的依赖项。
    • [xls]:安装用于旧版 Excel 文件的依赖项。
    • [pdf]:安装用于 PDF 文件的依赖项。
    • [outlook]:安装用于 Outlook 邮件的依赖项。
    • [az-doc-intel]:安装用于 Azure Document Intelligence 的依赖项。
    • [audio-transcription]:安装用于 wav 和 mp3 文件的音频转录依赖项。
    • [youtube-transcription]:安装用于获取 YouTube 视频转录的依赖项。

Python API

  1. 基础用法:
from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.text_content)
  1. 文档智能转换:
from markitdown import MarkItDown

md = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
result = md.convert("test.pdf")
print(result.text_content)
  1. 要用大型语言模型进行图像描述,请提供LLM客户端和LLM模型。
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

典型应用场景

  1. 文档管理 将 Office 文件批量转为 Markdown,便于 Git 版本控制和团队协作13。
  2. 数据分析 转换 CSV/JSON 数据为 Markdown 表格,快速生成报告1。
  3. 知识库构建 提取图像中的文字(OCR)、音频转录文本,整合为结构化知识库36]。
  4. 自动化流程 结合 CI/CD 工具,实现文档转换与发布的自动化2]。