Назад к подготовке

Архитектура invoice parsing из PDF

Нужно построить систему, которая извлекает полезные поля из PDF-инвойсов разных поставщиков. Какую архитектуру выбрать?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Нужен hybrid pipeline: PDF parser для native PDFs, OCR для scans, layout/table extraction, rules/NER/LLM layer, validation и gold-set eval.

Полный разбор

Сначала делим входы: native PDF, где можно достать текст и координаты, и scanned PDF, где нужен OCR. Далее строим layout representation: страницы, блоки, таблицы, координаты, confidence OCR. На этом слое можно применять правила для стабильных vendor templates и ML/LLM для более разнообразных форматов.

Хорошая архитектура обычно hybrid: deterministic extraction там, где поле явно находится по шаблону; model-based extraction для вариативных описаний; post-processing для нормализации дат, валют, сумм и vendor names; validation rules для проверки total, tax, line items и обязательных полей.

Система должна возвращать не только JSON, но и confidence плюс evidence: откуда взято поле. Это важно для ручной проверки и аудита.

Теория

Document AI почти всегда требует сочетания layout, OCR, правил, моделей и бизнес-валидации. Один LLM без контроля плохо переносит edge cases.

Типичные ошибки

  • Пытаться решить все одним prompt к PDF.
  • Не разделять native PDF и scan.
  • Не возвращать evidence/confidence для полей.

Как отвечать на собеседовании

  • Начни с типов PDF и layout representation.
  • Обязательно добавь validation и human review queue.