Marker: быстрое преобразование PDF в Markdown с открытым исходным кодом

Общее введение

Marker - это инструмент обработки документов на основе глубокого обучения, предназначенный для быстрого и точного преобразования PDF-файлов в формат Markdown. Он поддерживает широкий спектр типов документов и особенно оптимизирован для преобразования книг и научных работ. Marker способен удалять избыточное содержимое, такое как верхние и нижние колонтитулы, форматировать таблицы и блоки кода, а также извлекать и сохранять изображения. Он также преобразует большинство формул в формат LaTeX и поддерживает работу на GPU, CPU или MPS.

 

Marker:快速将PDF转换为Markdown的开源工具

 

Список функций

  • Преобразование PDF-файлов в формат Markdown
  • Поддержка различных типов документов, включая книги и научные работы
  • Удалите лишнее содержимое, например, верхние и нижние колонтитулы
  • Форматирование таблиц и блоков кода
  • Извлечение и сохранение изображений
  • Преобразование большинства уравнений в формат LaTeX
  • Поддерживает работу с GPU, CPU и MPS

 

 

Использование помощи

Процесс установки

  1. Установка зависимостей: Убедитесь, что установлен Python 3.6 и выше, а также что установлены следующие зависимости:
    pip install marker-pdf
    
  2. пример работы::
    marker_single /path/to/file.pdf /path/to/output/folder --batch_multiplier 2 --max_pages 10
    

 

Руководство по использованию

 

Преобразование отдельных файлов

marker_single /path/to/file.pdf /path/to/output/folder --batch_multiplier 2 --max_pages 10
  • --batch_multiplier кратно стандартному размеру партии, если у вас есть дополнительная VRAM. Более высокие числа будут использовать больше VRAM, но будут быстрее обрабатываться. По умолчанию установлено значение 2. Размер партии по умолчанию требует около 3 ГБ VRAM.
  • --max_pages максимальное количество обрабатываемых страниц. Если опустить этот пункт, то будет преобразован весь документ.
  • --langs необязательный список языков документов, разделенных запятыми, который будет использоваться для OCR. необязателен по умолчанию и должен быть указан, если используется tesseract.
  • --ocr_all_pages необязательный параметр для принудительного OCR всех страниц PDF, если этот параметр или переменная окружения `OCR_ALL_PAGES` равны true, OCR будет принудительным.

Список поддерживаемых языков Surya OCR можно найти в [здесь] найдено. Если вам нужно больше языков, вы можете использовать любой из поддерживаемых языков, просто установите параметр OCR_ENGINE установленный на ocrmypdfЕсли OCR не требуется, маркеры могут поддерживать любой язык. Если OCR не требуется, маркеры могут поддерживать любой язык.

 

Преобразование нескольких файлов

marker /path/to/input/folder /path/to/output/folder --workers 4 --max 10 --min_length 10000
  • --workers количество одновременно конвертируемых PDF-файлов. По умолчанию установлено значение 1, но вы можете увеличить это значение, чтобы повысить пропускную способность за счет увеличения нагрузки на CPU/GPU. Каждый рабочий процесс будет использовать 5 ГБ VRAM в пике и 3,5 ГБ в среднем.
  • --max максимальное количество PDF-файлов для конвертирования. Если опустить этот параметр, будут преобразованы все PDF-файлы в папке.
  • --min_length минимальное значение для количества символов, которые необходимо извлечь из PDF-файла; только PDF-файлы, превышающие это значение, будут рассматриваться для обработки. Если вы обрабатываете большое количество PDF-файлов, рекомендуется установить это значение, чтобы избежать OCR PDF-файлов, состоящих в основном из изображений (что замедляет обработку).
  • --metadata_file необязательный путь к файлу JSON, содержащему метаданные о PDF. Если он указан, этот файл будет использоваться для установки языка для каждого PDF. Установка языка необязательна для Surya (по умолчанию), но обязательна для Tesseract. Формат следующий:
{
"pdf1.pdf": {"languages": ["English"]},
"pdf2.pdf": {"languages": ["Spanish", "Russian"]},
...
}

Вы можете использовать либо название языка, либо код. Точный код зависит от механизма OCR. Полный список кодов Surya см. в разделе [здесь], для Тессеракта смотрите [здесь]

 

Настройка переменных окружения маркера в FastGPT

Чтобы включить службу пользовательского разрешения, необходимо настроить следующие переменные окружения в FastGPT:

CUSTOM_READ_FILE_URL=http://xxxx.com/v1/parse/file
CUSTOM_READ_FILE_EXTENSION=pdf

  • CUSTOM_READ_FILE_URL - адрес доступа к пользовательскому сервису разрешения, необходимо изменить хост на адрес развернутого сервиса разрешения, а путь к нему остается неизменным
  • CUSTOM_READ_FILE_EXTENSION - Указывает суффиксы типов файлов, которые поддерживаются для разбора, несколько типов файлов разделяются запятыми

Проверьте эффект синтаксического анализа

После завершения настройки вы можете проверить эффект парсинга, выполнив следующие действия:

  1. Загрузите PDF-файл в Базу знаний и подтвердите загрузку
  2. Просмотрите системный журнал (необходимо установить LOG_LEVEL на уровень info или debug).
  3. Вы увидите, что PDF-файл, разобранный Marker, содержит полные ссылки на изображения, что свидетельствует об успешном разборе.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...