Рассказываю, как запустить Telegram-сервис с нейросетью, решить проблему школьников и выйти в поиск. Без опыта в разработке
🧠 Откуда идея
Всё началось с простого вопроса: почему бы не сделать бота, которому можно просто скинуть фото задачи, и он вернёт решение? На самом деле таких решений на рынке полно, но я не нашел ни одного оформленного в виде миниап в Telegram.
Школьники и студенты постоянно ищут способы быстрее разобраться с домашкой. Но решения в интернете либо устаревшие, либо не по теме, либо требуют 100 кликов и регистрации.
Цель: создать бота и миниап, который:
- работает в Telegram (без регистрации, без установки),
- распознаёт фото заданий,
- решает с пояснениями,
- работает круглосуточно.
- без 5 летнего опыта в веб разработке.
Я уже писал у себя в блоге что я часто использую Chat GPT, и последнее время он становится все лучше и лучше. Я купил себе подписку за 20$ чтобы не зависеть от количества запросов, и иметь доступ к продвинутой модели.
⚙️ Технологии
Вот что мы с чат ботом использовали:
- FastAPI — backend и webhook-сервер
- Python Telegram Bot — бот
- OCR (Mathpix) — для распознавания текста с изображений. Лучшее что я нашел по цене/качеству, для распознавания именно формул
- GPT-4 (OpenAI API) — для генерации решений
- Next.js — лендинг и блог
- Uvicorn + systemd — деплой
- Nginx, Certbot — веб сервер
📸 Как это работает
- Пользователь отправляет фото задачи в бота.
- OCR извлекает текст (в том числе формулы и символы).
- Мы формируем prompt для GPT, где объясняем задачу и просим объяснение.
- GPT-4 возвращает пошаговое решение.
- Бот отправляет ответ в Telegram.
- Фронт в телеграме и в отдельной странице показывает обработанный ответ с формулами и решением
Умеет решать: математику, физику, химию, геометрию, информатику и даже механику.
📸 Как это работает у меня с Chat-GPT
У меня конечно уже был какой никакой опыт работы в мобайле, и разработки ботов. Но обычно все было на уровне одного экрана или какого нибудь запроса. Тут же предстояло сделать целый законченный проект с бекендом и работающими функциями.
И тут надо отдать должное Chat-GPT- он пошагово предложил ТЗ, и мы начали по шагам с ним реализовывать, сначала сделали API, подключение к БД. Потом начали по одному экрану реализовывать функционал на фронте. С моделью 4о оказалось все легко, он предлагает структура проекта, и пишет целые файлы с кодом. были затыки где 4о не справлялась, тогда я переключался на 3о модель. То есть Chat-GPT пошагово помог настроить подключение к нейросетям через их API, затем сохранение решений и вывод их пользователю на отдельном экране.
Так же Chat-GPT помог реализовать лендинг для всего проекта, который доступен в поиске, и оптимизировать его для поисковых систем.
Ниже можете посмотреть примеры моего общения с чат-ботом, иногда он наверное чувствовал себя рабом) Особенно когда он дает какой то скрипт, с ошибкой. Я просто ему присылал ошибки с консоли или с сервера, и он переделывал все сам. Часто, когда он сразу давал 2-3 скрипта полностью, он косячил, и по шагам переделывал каждый.
Еще самая частая проблема, что он просто забывал контекст, и давал новый скрипт совершенно по другому написанный. Тогда я просто присылал ему то, что у нас уже сделано, и в целом он быстро запоминал и делал уже с учетом того, что сделано.
Так же в целом есть проблема на сайте чат-бота, что при большой переписке, начинает сам чат лагать, тупить, тормозить. И в какой то момент он просто перестает отвечать, а у нас там куча всего сделана). тут на помощь пришли проекты в чат-боте. Я разносил разные важные куски проекта по разным чатам, и стало удобнее, единственное- в самом начале нового чата надо скармливать ему нужную часть проекта.
Надо отдать должное чат боту- он и рефакторинг кода проводит, многое мы с ним сделали так, чтобы работало отдельно, поэтому как раз удобно, не надо ему весь проект пересказывать.
Конечно лучше всего как минимум разбираться в архитектуре проекта, но изначально мы с чат-ботом начали с того, что определили стек технологий на которых будем писать, (в которых я хоть немного разбирался) затем определили структуру проекта, и дальше уже по шагам начали кодить. Самое трудное во всем этом проекте были 2 момента: выводить формулы на странице ответа, и принимать фотки от Iphone. На это ушло больше всего времени, но в целом чат-бот справился с этими задачами. Итого на весь проект у меня ушло 10 дней.
🚀 Запуск и первые фидбэки
Проект запущен и знакомые дали положительные отзывы. Теперь я намерен попробовать продвигать проект.
📊 Как я развиваю проект в поиске
- Подключил Яндекс Метрику и sitemap
- Публикую статьи под ключевые кластеры (ОГЭ, GPT, бот по фото и др.)
- Настроили микрозаметки и Open Graph
- Добавили кастомную 404, sitemap.xml и блог
