final_project_base
Описание
Assessment Question Difficulty Classifier
Языки
- Python100%
Assessment Question Difficulty Classifier (c веб-интерфейсом на Streamlit и GigaChat)
Автоматическая классификация сложности вопросов тестов и экзаменов с объяснением и рекомендациями на основе ИИ.
🎯 Что это и зачем?
Преподаватели тратят значительное время на ручную калибровку сложности вопросов. Этот проект решает реальную проблему в образовании:
- автоматически классифицирует вопросы как low / medium / high,
- объясняет предсказание через SHAP (интерпретируемость),
- предлагает конкретные улучшения с помощью GigaChat (LLM),
- преподаватели могут попросить GigaChat на основе ML-анализа улучшить вопросы определённым образом (упростить, усложнить).
- помогает создавать сбалансированные и эффективные тесты.
Проект находится на стыке ИИ в образовании, обработки естественного языка и анализа поведенческих данных.
📦 Установка
Требования
- Python 3.11+
- Gigachat SDK
- Git
В
в корне проекта укажите.env. Для получения доступа к gigachat_auth можете обратиться к студенту, выполнившему работу: bebebe (Нурбаев Данияр, ТГ.)GIGACHAT_CREDENTIALS="ваш_gigachat_auth"
Шаги
▶️ Использование
1. Обучение модели
создаст папку
и файлmodels/с метриками качества.metrics.json
2. Запуск веб-интерфейса
открывает интерактивный UI для анализа вопросов.
3. Запуск тестов
4. Проверка работоспособности анализа
Для проверки можно открыть веб-интерфейс и попробовать проанализировать .
🧪 Пример использования в коде (без веб-интерфейса)
Пример вывода
question predicted_difficulty
0 Что такое... low
1 Решите задачу... medium
2 Проанализируйте... high
📂 Структура проекта
.
├── src/ # Основная логика (библиотека)
│ ├── features.py # Генерация данных и признаки
│ ├── model.py # Обучение и предсказание
│ ├── explain.py # Объяснение и рекомендации
│ └── gigachat.py # Интеграция с LLM
├── app.py # Точка входа Streamlit UI
├── train.py # Точка входа обучения модели
├── tests/ # Unit-тесты (pytest)
├── models/ # Сохранённые модели (не в репе)
├── data/ # Датасеты для обучения и валидации
├── metrics.json # Метрики модели (обновляется CI)
├── requirements.txt # Зависимости
├── .gitignore # Игнор файлов
└── pyproject.toml # Конфигурация (pytest, сборка)