examinator_bot

0

Описание

🎓🤖 LLM-based examinator bot with a mixture of AI-agent experts

Языки

  • Python98,6%
  • Shell0,9%
  • Dockerfile0,5%
README.md

Бот Тренажёр 🎓🤖

Бот Тренажёр помогает студентам готовиться к экзаменам, задавая им вопросы по курсу и анализируя их ответы с помощью нейросети. Помимо оценки по 3-балльной шкале он также развёрнуто объясняет оценку и может сообщить правильный ответ.

В данный момент бот умеет задавать вопросы из курса "Компьютерная графика".

Examinator bot hero image

Запуск модели ollama

  1. Скачать ollama по ссылке: https://ollama.com/download/
  2. Выполнить команду
  1. Проверить, что модель скачалась

Запуск бота

Клонируем репозиторий 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-код, например

SELECT * FROM events WHERE status = 'pending';

Остановить:

  • Базу данных
  • Воркер
  • Бота