AIKraft Agents

microsoft/markitdown

Python-инструмент для преобразования файлов и офисных документов в Markdown.

Инструменты⭐ 194 089Pythonпоследний релиз: v0.1.9
Открыть на GitHub ↗

Что это за инструмент

MarkItDown — это легковесная Python-утилита для конвертации различных файлов и офисных документов в формат Markdown.

Зачем нужен

Инструмент предназначен для подготовки данных к обработке LLM и текстовым анализам, сохраняя при этом важную структуру документа (заголовки, списки, таблицы). Markdown выбран как оптимальный формат, так как LLM хорошо его понимают и он эффективен по токенам.

Что можно реализовать

  • Подготовка документов (PDF, Word, Excel) для загрузки в RAG-системы
  • Извлечение текста и метаданных из изображений и аудиофайлов
  • Парсинг веб-страниц и YouTube-видео (транскрипция) для анализа контента
  • Массовая конвертация архивов (ZIP) и структурированных данных (JSON, XML, CSV) в единый текстовый формат

Ключевые возможности

  • Поддержка широкого спектра форматов: PDF, PPTX, DOCX, XLSX, изображения, аудио, HTML, EPUB, YouTube
  • Сохранение структуры документа: заголовки, списки, таблицы и ссылки преобразуются корректно
  • Гибкая установка: можно установить все зависимости сразу или только нужные модули (например, только [pdf] или [audio-transcription])
  • Поддержка плагинов и интеграция с LLM для OCR (через markitdown-ocr) и транскрипции
  • Работа через CLI, Python API или конвейерную обработку (pipe)

👤 Кому подойдёт: разработчики, работающие с LLM, инженеры данных, исследователи, анализирующие большие объемы неструктурированных документов

Релизы

v0.1.9minor
🕐 15 дн назад · релиз на GitHub ↗

Обновление зависимостей, оптимизация производительности, поддержка мобильных URL Wikipedia и параметров языка для аудио.

  • Added: Добавлен параметр языка для транскрипции аудио.
  • Added: Увеличен размер чанка для чтения HTTP-ответов с 512 байт до 64 КБ.
  • Fixed: Добавлена поддержка мобильных URL (m.wikipedia.org).
  • Fixed: Исправлена обработка случая, когда sys.stdout.encoding равен None.
  • Added: Оптимизировано буферизация неseekable-потоков через shutil.copyfileobj.
  • Added: Обновлены зависимости: magika, Mammoth, certifi, Black, Pillow.
v0.1.8patch
🕐 1 мес назад · релиз на GitHub ↗

Накопительное обновление с исправлениями ошибок, улучшением обработки CSV, DOCX и RSS, а также рефакторингом плагина OCR.

  • Fixed: Исправлена работа с расширенными именами файлов в Content-Disposition, закодированными процентами путями в Windows и нечувствительностью к регистру URI.
  • Fixed: Улучшена обработка CSV: удалён BOM, пропущены пустые строки, экранированы спецсимволы, а также добавлена поддержка CLI-конвертации из stdin.
  • Fixed: В DOCX сохранено подчёркивание, в HTML и Markdown — зачёркивание, в EPUB и RSS — корректная работа с метаданными и XHTML-контентом.
  • Fixed: Устранены падения при конвертации математических формул (OMML/LaTeX), обработка отсутствующих заголовков YouTube и ошибок декодирования в Jupyter-ноутбуках.
  • Added: Добавлена поддержка переменных окружения MARKITDOWN_CU_ENDPOINT и MARKITDOWN_DOCINTEL_ENDPOINT для подключения к службам понимания документов.
v0.1.7patch
🕐 3 мес назад · релиз на GitHub ↗

Исправлены ошибки конвертации формул и обработки PPTX-файлов, улучшена производительность.

  • Fixed: Устранена проблема с производительностью (O(n^2)) при конвертации диаграмм в PPTX.
  • Fixed: Исправлены некорректные макросы LaTeX для символов mu, nu, tau и стрелки вниз.
  • Fixed: Добавлена поддержка SVG-изображений в PPTX без растрового резервного варианта.
  • Fixed: Исправлены ошибки в шаблонах OMML.
  • Fixed: Исправлены опечатки и улучшено форматирование в комментариях и документации.