Задача была автоматизировать распознавание данных из фото и PDF-документов. Пользователь отправляет изображение или PDF в Telegram, а система извлекает структурированные данные, сохраняет их в базу и даёт администраторам возможность выгрузить результат в CSV или Excel.
Я разработал Telegram-бота на aiogram 3 и FastAPI API. Реализовал гибридный OCR-пайплайн: Vision LLM через OpenRouter, Yandex Cloud OCR и локальный Tesseract MRZ. Модули работают по настраиваемому приоритету: если один источник заполнил не все поля, данные дополняются из следующего. Добавил PostgreSQL, SQLAlchemy async, Alembic, лимиты размера файлов, обработку PDF и экспорт данных.
Получился сервис, который снижает ручной ввод данных из документов и даёт администраторам готовую таблицу с результатами. Гибридный подход повысил устойчивость распознавания: система не зависит только от одного OCR-провайдера и может дополнять недостающие поля из нескольких источников.