Решение кейса по NLP для смены по машинному обучению от Тинькофф в Университете "Сириус"

Краткое описание

Телеграм-бот для обучения языку программирования Scala.

Мотивация

Эта тема актуальна для меня из-за того, что сейчас я прохожу электив по функциональному программированию на Scala в своём университете.

Как запустить

Скопируйте .env.example в .env, вставьте туда токен Telegram-бота и название директории с дообученной моделью (должна быть в корне проекта).

Затем выполните следующую команду:

docker compose up --build

Детали реализации

В качестве основы использована модель ruDialoGPT-medium, дообученная на 1000 примерах из истории чата Scala Learning & Education: Ask for Review & Noob questions с размером контекста 3. Для развёртывания бэкенда с моделью использована библиотека pinferencia. Бот написан с помощью библиотеки aiogram и использует Redis для сохранения контекста в виде истории из 3 последних сообщений чата.

Дальнейшее развитие проекта

К сожалению, качество ответов на вопросы по тематике Scala всё ещё довольно низкое, поэтому имеет смысл дообучить на всех 25 тысячах примеров из истории чата. Помимо этого, можно дополнить обучающую выборку другими чатами, например, перечисленными здесь.