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

Что делать, если invoice parsing слишком дорогой и медленный

Pipeline для PDF-инвойсов работает, но обработка стала медленной и дорогой. Как искать узкие места и оптимизировать?

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

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

Загрузка

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

Нужно разложить latency/cost по стадиям: upload, OCR, layout, LLM, validation. Затем кешировать, роутить простые случаи в правила и батчить тяжелые вызовы.

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

Оптимизация начинается с измерений. Для каждого документа нужно логировать размер, число страниц, тип PDF, время OCR, время table extraction, число LLM calls, token count, retries и итоговый outcome. Без такого breakdown легко оптимизировать не тот слой.

Дальше применяются routing rules. Простые vendor templates можно обрабатывать без LLM. Native PDFs не нужно отправлять в OCR. Страницы без полезных таблиц можно отбрасывать. LLM можно вызывать только на candidate regions, а не на весь документ.

Для production также полезны кеши по document hash, batch processing, async queue, лимиты на максимальное число страниц и human review для документов с низким confidence вместо бесконечных retries.

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

  • Оптимизировать модель без latency breakdown.
  • Отправлять весь документ в самый дорогой LLM путь.
  • Не отделять online SLA от offline batch обработки.

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

  • Сначала скажи: instrument every stage.
  • Затем предложи routing: rules for easy cases, LLM only for hard cases.