Что делать, если 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.