Чем предстоит заниматься:
- Проектирование ETL-пайплайнов для документов: Разработка полного цикла обработки входного потока (PDF, JPEG, PNG).
- CV-препроцессинг (OpenCV): Нормализация изображений, выравнивание текста, адаптивная бинаризация, удаление шумов при сохранении важных элементов (печатей, подписей).
- Семантическая сегментация PDF: Разработка алгоритмов (эвристика + ML) для разделения многостраничных "слепых" сканов на отдельные документы по визуальным и текстовым якорям.
- Интеграция с локальными VLM / LLM: Развертывание и промпт-инжиниринг локальных моделей (Ollama, vLLM или аналоги) для извлечения сущностей (NER) в строгом формате.
- Пост-процессинг и валидация: Написание надежной логики очистки данных для защиты системы от галлюцинаций моделей.
Для успешной работы потребуется:
- Уверенное владение Python: ООП, паттерны проектирования, написание чистого и поддерживаемого кода.
- Опыт работы и глубокое понимание современных SOTA-подходов к задачам OCR и Key Information Extraction.
- Работа с PDF: Опыт работы с библиотеками PyMuPDF (fitz) и PyPDF2 (векторный парсинг, рендеринг, сборка/разборка документов на лету).
- Machine Learning / LLM: Опыт работы с локальными LLM. Понимание принципов Prompt Engineering, настройки параметров генерации (temperature, top_p, top_k, num_predict).
- Data Processing: регулярными выражениями (re), владение spark будет бонусом
Будет плюсом, если у вас есть:
- Опыт работы с традиционными OCR-движками (Tesseract, EasyOCR, PaddleOCR).
- Понимание принципов оптимизации инференса на GPU (TensorRT, квантование, кэширование).
- Опыт работы с Docker и понимание принципов построения микросервисной архитектуры.
- Навыки структурированного логирования и профилирования Python-кода.