examinator_bot
Описание
🎓🤖 LLM-based examinator bot with a mixture of AI-agent experts
Языки
- Python98,6%
- Shell0,9%
- Dockerfile0,5%
Бот Тренажёр 🎓🤖
Бот Тренажёр помогает студентам готовиться к экзаменам, задавая им вопросы по курсу и анализируя их ответы с помощью нейросети. Помимо оценки по 3-балльной шкале он также развёрнуто объясняет оценку и может сообщить правильный ответ.
В данный момент бот умеет задавать вопросы из курса "Компьютерная графика".
Запуск модели ollama
- Скачать ollama по ссылке: https://ollama.com/download/
- Выполнить команду
- Проверить, что модель скачалась
Запуск бота
Клонируем репозиторий python-zulip-api
Перемещаемся в папку bots
Здесь содержится несколько ботов, добавим сюда и нашего
Перейдём в созданную папку
Создаем файл .env, где прописываем имя пользователя, пароль и ссылку на таблицу для записи ответов в NextCloud. В ссылке на таблицу должно быть два листа "Вопросы и ответы", где будет список вопросов, и "Ответы студентов", куда будут записываться ответы студентов. Структура файла .env:
NEXTCLOUD_URL=https://your-server/remote.php/webdav/<folder>/<filename>.xlsx
NEXTCLOUD_USERNAME=username
NEXTCLOUD_PASSWORD=password
Ссылка на таблицу: https://drive.miem.tv/index.php/s/BPL7DjSj4CH6d5C
Наконец, запустим бота с помощью скрипта
Этот скрипт:
- Устанавливает зависимости
- Активирует виртуальное окружение
- Поднимает докер с базой данных. В этой базе данных хранятся сообщения, которые нужно отправить или изменить
- Запускает воркер. Он считывает все сообщения в статусе "pending" из БД и отправляет или изменяет их
- Запускает бота Zulip
Чтобы остановить бота, нужно ввести команду:
Полезные команды
Посмотреть логи бота в реальном времени
Посмотреть логи воркера в реальном времени
Подключиться к базе данных
Теперь в открывшейся строке можно выполнить любой SQL-код, например
Остановить:
- Базу данных
- Воркер
- Бота