0

Я устал от SQL и решил попробовать себя в веб-разработке

Я — дата-инженер. По роду деятельности пишу много SQL, но в какой-то момент захотелось чего-то более осязаемого. Хотелось делать проекты, которые можно «потрогать руками» и которыми можно делиться. Так я немного углубился в веб-разработку и возникла идея сделать сервис, который бы генерировал образовательный контент с помощь AI. Так появился AI Tutor — если красиво завернуть, то это платформа, которая объединяет онлайн-обучение и нейросети. Сервис помогает авторам и ученикам создавать и проходить курсы, генерирует контент с помощью LLM, проверяет знания и сопровождает обучающегося в виде виртуального тьютора. В общем и целом - условно бесплатно, а если пользователь подключит свой gpt-аккаунт, то сам будет определять, сколько он может генерировать контента.

Изначально идея была простой: загрузил список тем — получил структурированный курс с лекциями и заданиями. Но в процессе проект быстро оброс новыми функциями и стал куда интереснее.

Возможности платформы

На сегодня в сервисе есть два режима создания курсов.1. AI-режим (быстрый старт)

1. AI-режим (быстрый старт)

Вы вводите название курса или список тем — AI сам:

  • предлагает структуру (модули и уроки),

  • генерирует содержание уроков,

  • создаёт проверочные задания.

Подходит для быстрого запуска MVP или чернового наброска.

2. Creator-режим (ручное управление)

Вы полностью контролируете структуру курса:

  • добавляете модули и уроки вручную,

  • загружаете свои тексты, заметки,

  • используете AI для редактуры и дополнений.

Этот режим подходит для продуманных авторских программ.

Публикация и библиотека

Курс можно опубликовать — и другие пользователи найдут его в библиотеке и смогут пройти. Это работает как для авторов, так и для студентов, которые хотят делиться находками.

Функции, которые делают обучение живым

1. AI-помощник в уроках В каждом уроке встроен чат с нейросетью. Можно задавать уточняющие вопросы, просить объяснений — будто у вас всегда под рукой личный репетитор.

2. Проверочные задания AI сам создаёт тесты и задания, а затем даёт обратную связь — что получилось, что можно улучшить.

3. Аудиоверсии лекций Не хотите читать — слушайте! Текст превращается в речь, удобно в дороге или во время прогулки.

4. Трекер прогресса Система отмечает, какие уроки вы прошли, что осталось, и помогает отслеживать результат.

Техническая сторона

Проект написан на Django + Jinja2 Templates. Без модных SPA-фреймворков — всё максимально просто и понятно. Почему так? Потому что изначально это был учебный проект — и сработало. Плюс, я не знаком с современным фронтендом и мне было куда проще собирать костяк html самому и потом через GPT кастомить до нужных бутстрап классов, чтобы верстка смотрелась приемлемо.

Архитектура

  • Accounts — управление пользователями, токенами, AI-моделями.

  • Courses — AI-курсы, публичные курсы.

  • CreatorCourses — редактор авторских программ, которые затем можно «трансформировать» в AI-курсы.

Используются стандартные CBV (ListView, CreateView, и т.д.). Данные моделей Course, Module, Lesson, Task клонируются из Creator-программы при публикации.

AI внутри

По умолчанию используется Qwen2.5-32B, но пользователь может подключить свой ключ от OpenAI (например, GPT-4). Я тестировал разные модели — по качеству ± одинаково, но GPT-4 справляется примерно на 20–30% быстрее.

Промпты заранее шаблонизированы, в них просто «втыкается» пользовательский ввод.

Где хостится?

Сначала всё работало на Raspberry Pi, который стоял дома на подоконнике. Потом начались проблемы с провайдером — и я перенёс всё в Digital Ocean. Плачу около 1000₽ в месяц, зато всё стабильно, и не нужно мутить прокси для доступа к OpenAI из РФ.

Проблема стриминга

Хотелось, чтобы ответ от AI печатался прямо на экране. С stream=True и запуском через runserver + nginx всё работало. Но при переходе на Uvicorn/Gunicorn стрим ломается: данные буферизируются и выводятся разом. JS и backend одинаковые, конфиг nginx тот же — а стрима нет. Пока временное решение — просто показываю прогресс-бар.

Возможно, стоит вынести стриминг в отдельный FastAPI-сервис, как советует GPT. Пока руки не дошли.

Что дальше?

  • Интеграция WYSIWYG-редактора в Creator-режим.

  • Авторизация через VK, Яндекс и другие платформы.

  • Улучшение UX/UI.

  • Восстановление стриминга при запуске не через runserver.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества