Срок: 3 дня
Формат: Рабочий бот
Язык кода: Любой (Python предпочтительно)
Что предоставляем: Telegram Bot Token
Задача
Создать Telegram-бота, который распознаёт документы (паспорта, дипломы, сертификаты) по фото или PDF и сохраняет извлечённые данные в Google Таблицу.
Требования
1. Приём документов
Пользователь отправляет боту:
Фото документа (сжатое или как файл)
PDF-файл (скан или цифровой документ)
Качество может быть низким: фото под углом, плохое освещение, частично обрезанные края — бот должен стараться извлечь максимум данных.
Важно: пользователь может отправить документ несколькими фотографиями в одном сообщении (например, разворот паспорта: левая + правая страница, или диплом + приложение). Бот должен корректно обработать такой альбом как один документ и вернуть единый результат распознавания.
2. Распознавание (AI/OCR)
На бекенде фото/PDF обрабатывается AI-сервисом (на выбор: OpenAI Vision API, Google Cloud Vision, Claude API, Tesseract + LLM, или любая другая комбинация).
Бот извлекает и возвращает пользователю данные в следующем формате:
📄 Результат распознавания:
1. ФИО: Иванов Иван Иванович
2. Дата рождения: 15.03.1990
3. Серия и номер: 4510 123456
4. Дата выдачи: 20.07.2015
5. Кем выдано: УФМС России по г. Москве
6. Срок действия: —
7. Тип документа: Паспорт гражданина РФ. Официальный государственный документ, выданный органом УФМС.
Если какое-то поле невозможно определить — указать «Не определено» или «—».
Поле №7 — текстовое описание от AI: что за документ, является ли он официальным государственным документом или частным (например, сертификат онлайн-курса ≠ государственный диплом).
Языки распознавания: английский, французский, русский, испанский, португальский
3. Запись в Google Таблицу
После распознавания данные автоматически записываются в Google Таблицу (доступ предоставим).
Столбцы:
A
B
C
D
E
F
G
H
I
Timestamp
ФИО
Дата рождения
Серия/номер
Дата выдачи
Кем выдано
Срок действия
Тип документа (AI)
Статус
Столбец Статус заполняется по результату проверки пользователем (см. п.4).
4. Верификация пользователем
После вывода результатов бот показывает две inline-кнопки:
✅ Распознано верно
❌ Распознано неверно
Если «Распознано верно»:
В столбец «Статус» Google-таблицы записывается значение OK
Бот отвечает: «Спасибо! Данные сохранены.»
Если «Распознано неверно»:
Бот запускает повторное распознавание другой моделью или с другими параметрами (например: первый раз — OpenAI, второй раз — Claude; или первый раз — стандартный промпт, второй раз — промпт с акцентом на OCR-ошибки)
Результат повторного распознавания снова отправляется пользователю с теми же кнопками ✅ / ❌
В таблице обновляется строка с новыми данными
Если после второй попытки снова «неверно» — бот пишет: «Не удалось распознать автоматически. Документ передан на ручную проверку.» и записывает в статус MANUAL_REVIEW
5. Обработка ошибок
Если отправлен не документ (например, селфи или мем) — бот должен вежливо сообщить, что не смог определить документ
Если PDF повреждён или не читается — сообщить об ошибке
Если AI-сервис недоступен — сообщить пользователю и предложить повторить позже
Технические детали
Telegram Bot Token
8108816633:AAE5TvZLEW1-DRsDzn2saaFTQJXvaQF0KxI
Google Таблица
Реализуется кандидатом самостоятельно
Выбор AI-сервиса
Вы вольны выбрать любой AI/OCR сервис. Если нужен API-ключ — используйте свой (расходы на API в рамках тестового минимальны, обычно <$1). Если это критично — сообщите, обсудим.
Рекомендуемые варианты:
OpenAI GPT-4o Vision
Anthropic Claude API (vision)
Google Cloud Vision API
Tesseract OCR + LLM для структурирования
Что мы оцениваем
Критерий
Вес
Что смотрим
Работоспособность
30%
Бот запускается, принимает фото/PDF, возвращает результат
Качество распознавания
20%
Корректность извлечённых данных на разных документах
Обработка альбомов
15%
Корректная склейка нескольких фото в одном сообщении
Архитектура кода
15%
Читаемость, структура, разделение ответственности
UX бота
10%
Понятные сообщения, обработка ошибок, кнопки
Google Sheets
10%
Данные корректно записываются и обновляются
Как сдать
Рабочий бот — должен быть запущен и доступен для тестирования на момент сдачи, нам не важно какими костылями это будет собрано
Отправить доступ к таблице на: leto@facultet.school
Мы не ждём enterprise-архитектуру. Нам важно: работающий результат и умение справиться с неочевидными нюансами
Опубликован 18.02.2026 в 16:01