工具介绍
MarkItDown
[!Важно]
MarkItDown выполняет I/O с привилегиями текущего процесса. Как и open() или request.get(), он получает доступ к ресурсам, к которым может получить доступ сам процесс. Санитаризуйте свои входные данные в ненадежных средах и назовите самую узкую функцию Convert *, необходимую для вашего варианта использования (например, Convert stream() или Convert local()). См. раздел Соображения безопасности документации для получения дополнительной информации.
MarkItDown - это легкая утилита Python для преобразования различных файлов в Markdown для использования с LLM и соответствующими конвейерами анализа текста. С этой целью он наиболее сопоставим с текстовым трактатом, но с акцентом на сохранение важной структуры документа и контента в виде Markdown (включая заголовки, списки, таблицы, ссылки и т. Д.). Несмотря на то, что выход часто является достаточно презентабельным и удобным для человека, он предназначен для использования инструментами анализа текста и может быть не лучшим вариантом для преобразования документов высокой точности для потребления человеком.
В настоящее время MarkItDown поддерживает конверсию из:
- PDF
PowerPoint
- Слово.
- Отлично.
- Изображения (EXIF метаданные и OCR)
Аудио (EXIF метаданные и транскрипция речи)
- HTML
Текстовые форматы (CSV, JSON, XML)
ZIP-файлы (итераторы над содержимым)
URL YouTube
- EPubs
- ...и даже больше!
Почему Маркдаун?
Маркдаун очень близок к простому тексту с минимальной разметкой или форматированием, но все же
Предоставляет способ представления важной структуры документа. Основные LLM, такие как
OpenAI's GPT-4o, изначально « speak » Markdown, и часто включает Markdown в свои программы.
Ответы необдуманные. Это говорит о том, что их обучали в огромных количествах.
Отформатированный текст и хорошо его понимаю. В качестве побочного преимущества Markdown
Они также очень токен-эффективны.
Предпосылки
MarkItDown требует Python 3.10 или выше. Рекомендуется использовать виртуальную среду, чтобы избежать конфликтов зависимости.
С помощью стандартной установки Python можно создавать и активировать виртуальную среду, используя следующие команды:
При использовании «uv» можно создать виртуальную среду с помощью:
Если вы используете Anaconda, вы можете создать виртуальную среду с помощью:
Установка
Чтобы установить MarkItDown, используйте pip: 'pip install 'markitdown[all]'. Кроме того, вы можете установить его из источника:
использование
Командная линия
Или используйте '-o' для указания выходного файла:
Вы также можете скачать содержимое:
Факультативные зависимости
MarkItDown имеет дополнительные зависимости для активации различных форматов файлов. Ранее в этом документе мы установили все опциональные зависимости с опцией «[все]». Однако вы также можете установить их индивидуально для большего контроля. Например:
Устанавливаются только зависимости для файлов PDF, DOCX и PPTX.
На данный момент доступны следующие факультативные зависимости:
*[все] Устанавливает все дополнительные зависимости
[pptx] Устанавливает зависимости для файлов PowerPoint
*[docx] Установка зависимостей для файлов Word
*[xlsx] Установка зависимостей для файлов Excel
*[xls] Установка зависимостей для старых файлов Excel
* [pdf] Установка зависимостей для файлов PDF
*[Обзор] Установка зависимостей для сообщений Outlook
* [az-doc-intel] Установка зависимостей для Azure Document Intelligence
* "[понимание содержания]" Установка зависимостей для понимания содержимого Azure
* [аудио-транскрипция] Устанавливает зависимости для аудиотранскрипции файлов wav и mp3
[youtube-transcription] Устанавливает зависимости для получения видеотранскрипции YouTube
Плагины
MarkItDown также поддерживает плагины 3rd-party. Плагины по умолчанию отключены. Перечислить установленные плагины:
Чтобы включить плагины использовать:
Чтобы найти доступные плагины, найдите GitHub для хэштега #markitdown-plugin. Для разработки плагина см. "пакеты/markitdown-sample-plugin".
Разработчик: Markitdown-ocr Plugin
Плагин «markitdown-ocr» добавляет поддержку OCR в конвертеры PDF, DOCX, PPTX и XLSX, извлекая текст из встроенных изображений с помощью LLM Vision — того же шаблона «llm client» / «llm model», который MarkItDown уже использует для описания изображений. Не требуется новых библиотек ML или бинарных зависимостей.
** Установка:**
** Использование:**
Передайте те же «llm client» и «llm model», которые вы используете для описания изображений:
Если нет «llm client», плагин все еще загружается, но OCR бесшумно пропускается, и вместо него используется стандартный встроенный преобразователь.
См. "packages/markitdown-ocr/README.md" для подробной документации.
Azure Content Понимание
Azure Content Understanding обеспечивает более качественное преобразование со структурированным извлечением полей (передняя материя YAML)