AI-ассистент куратора проектного практикума — это сервис для автоматизации проверки отчетов по студенческим проектам. Основная цель проекта — снизить нагрузку на преподавателей и ускорить предоставление обратной связи студентам.
Сервис выполняет автоматическую проверку студенческих отчетов на основе заданных критериев с использованием языковых моделей (LLM), LangChain и LangGraph.
-
📤 Загрузка материалов — Пользователь загружает отчет по проекту и опционально паспорт проекта (поддерживаются различные форматы файлов).
-
⚙️ Настройка критериев — Пользователь может использовать стандартные критерии оценки или загрузить собственные.
-
🔍 Анализ и проверка — Система анализирует загруженные документы с помощью LLM и проверяет соответствие отчета заданным критериям.
-
📊 Результаты проверки — Пользователь получает структурированные результаты проверки.
-
💬 Обратная связь — Система формирует конструктивную и дружелюбную обратную связь для студента, которую преподаватель может использовать непосредственно или адаптировать.
-
📥 Выгрузка результатов — Возможность скачать результаты проверки в удобном формате для дальнейшего использования.
- 🌊 Streamlit — для создания веб-интерфейса
- ⛓️ LangChain — для работы с языковыми моделями
- 📊 LangGraph — для построения графов обработки данных
Вы можете использовать сервис по адресу: https://aiassistpp.streamlit.app/
- Паспорт проекта (необязательный файл в формате PDF или DOCX)
Содержит описание предметной области проекта и требования к конечному результату.
Необходим для адаптации критериев под тематику проекта. - Отчет по проекту (обязательный файл в формате PDF или DOCX)
Документ, который будет анализироваться и оцениваться системой.
Совет: Для наилучших результатов рекомендуется загружать оба документа. Это позволит системе лучше понять контекст проекта и выполнить адаптацию критериев.
-
Стандартные критерии (используются по умолчанию):
- Содержат критерии для различных типов проектов (прикладных и исследовательских)
- Доступны для просмотра через выпадающую секцию "Критерии проверки проектов (по умолчанию):"
-
Пользовательские критерии (опционально):
- Активируйте переключатель "🔄 Актуализировать критерии проверки проектов"
- Загрузите файл с критериями (поддерживаемые форматы: TXT, PDF, DOCX)
Примечание: Если загружен паспорт проекта, система автоматически адаптирует критерии под тематику и требования проекта.
-
💬 Формировать обратную связь для студента
Если включено, система создаст структурированный текст с рекомендациями для студента -
Выбор модели для выполнения проверки
Доступные модели:
- DeepSeek Chat
- DeepSeek R1
- YandexGPT Pro
- YandexGPT Lite
- Gemini 2.0 Flash
- Qwen 32B
- Qwen 2.5 72B (наиболее мощная, но может занимать больше времени)
Совет: Если результаты проверки вас не устраивают, попробуйте использовать другую модель.
- Установите флажок согласия на обработку и хранение файлов.
- Нажмите кнопку "🔍 Проверить отчет"
- Дождитесь завершения процесса проверки
- Во время проверки будет отображаться текущий этап выполнения
- Не закрывайте вкладку браузера до завершения проверки
После завершения проверки отображаются три раздела (можно развернуть каждый, нажав на заголовок):
-
Адаптированные критерии проверки
- Критерии, которые были использованы для проверки
- Если был загружен паспорт, критерии учитывают его требования
-
Результаты проверки
- Детальный анализ соответствия отчета каждому критерию
-
Обратная связь для студента (если опция была включена)
- Готовый структурированный текст с конструктивными замечаниями и рекомендациями
- Можно скопировать и использовать как основу для обратной связи
Вы можете сохранить результаты проверки для дальнейшего использования:
-
Выберите предпочтительный формат файла из выпадающего списка:
- HTML (по умолчанию) - открывается в браузере, сохраняет форматирование
- PDF - формат для печати и официальных документов
- Markdown - текстовый формат с разметкой, удобен для дальнейшего редактирования
-
Нажмите кнопку "📥 Скачать результаты (выбранный формат)"
Ваше мнение поможет улучшить работу сервиса:
- Откройте раздел "Оставить обратную связь о результатах проверки"
- Оцените качество проверки (хорошо или плохо).
- Добавьте комментарий (необязательно), указав:
- Что было особенно полезным
- Предложения по развитию сервиса
- Нажмите "Отправить обратную связь"
В этой вкладке вы можете просматривать и редактировать шаблоны запросов к языковым моделям:
- Формирование критериев (CRITERIA_FORMING_TEMPLATE) - шаблон для адаптации критериев под тематику и требования проекта
- Проверка отчета (CHECK_REPORT_TEMPLATE) - шаблон для проверки отчета в соответствии с критериями
- Формирование обратной связи (FEEDBACK_FORMING_TEMPLATE) - шаблон для формирования обратной связи студенту
Интерфейс управления промптами включает:
- Выпадающий список для выбора типа промпта
- Текстовое поле для просмотра и редактирования содержимого
- Кнопки управления:
- "Сохранить изменения" - для сохранения внесенных правок
- "Сбросить этот промпт" - для сброса текущего промпта к стандартному шаблону
- "Сбросить все промпты" - для сброса всех промптов к стандартным шаблонам
Важно: При редактировании не изменяйте и не удаляйте переменные в формате
{...}. Они используются для подстановки данных при выполнении проверки.
Содержит подробную информацию о проекте:
- Назначение и цели AI-ассистента
- Описание функциональных возможностей
- Используемые технологии
Для запуска проекта локально необходимо:
- Клонировать репозиторий
- Создать и активировать виртуальное окружение:
python -m venv [имя виртуального окружения]- для Linux:
source [имя виртуального окружения]/bin/activate - для Windows:
[имя виртуального окружения]\Scripts\activate
- Установить зависимости:
pip install -r requirements.txt - Настроить переменные окружения в файле
secrets.toml(см..streamlit/secrets.toml.example).
Если не планируется использование LLM определенного провайдера, то можно оставить поле пустым. - Запустить приложение:
streamlit run app.py
Для запуска проекта локально необходимо:
-
Клонировать репозиторий
-
Создать и активировать виртуальное окружение:
python -m venv [имя виртуального окружения]- для Linux:
source [имя виртуального окружения]/bin/activate - для Windows:
[имя виртуального окружения]\Scripts\activate
-
Установить зависимости:
pip install -r requirements.txt -
Настроить переменные окружения в файле
.env(см..env.example).
Если не планируется использование LLM определенного провайдера, то соответствующие поля можно оставить пустыми. -
Инициализировать проект:
python init_project.py --project_dir [путь к директории с проектом]В результате выполнения скрипта в папке с проектом будут созданы следующие директории и файлы:
input/reports— директория для загрузки отчетовinput/passports— директория для загрузки паспортовКритерии.txt— файл с критериями проверкиprompts— директория для хранения промптов
-
При желании можно настроить промпты для проверки в директории
prompts:criteria_forming.txt— промпт для формирования структурированных критериев на основе паспорта проектаcheck_report.txt— промпт для проверки отчета, анализирует отчет по критериям и выставляет оценкуfeedback_forming.txt— промпт для формирования конструктивной обратной связи студенту на основе результатов проверки
⚠️ Важно! При редактировании промптов необходимо сохранять все поля-заполнители (placeholders) в исходном виде, так как они используются для подстановки данных в процессе работы приложения. -
При желании можно настроить критерии проверки в файле
Критерии.txt. -
Необходимо поместить файлы с отчетами и паспортами в директории
input/reportsиinput/passportsсоответственно. Допустимые форматы файлов:.pdf,.docx.
Паспорт для проекта является необязательным. Если он не загружен, то адаптация критериев под требования паспорта проводиться не будет.⚠️ Важно! Паспорта проектов должны иметь в своем названии наименование файла с отчетом по проекту, например:- Отчет команды 1.pdf — отчет по проекту
- Отчет команды 1 (паспорт).pdf — паспорт по проекту
-
Запустить приложение:
python cli_app.py --project_dir [путь к директории с проектом].
По умолчанию используется модельDeepseek Chat. Если необходимо использовать другую модель, то можно указать ее при помощи параметра--model [наименование модели].Доступные модели на данный момент:
- DeepSeek Chat
- DeepSeek R1
- YandexGPT Pro
- YandexGPT Lite
- Gemini 2.0 Flash
- Qwen 32B
- Qwen 2.5 72B
Также можно пропустить этап формирования обратной связи для студента при помощи параметра
--skip-feedback.
Пример запуска без обратной связи и с использованием моделиGemini 2.0 Flash:python cli_app.py --project_dir my_project --model "Gemini 2.0 Flash" --skip-feedback. -
Результаты проверки будут сохранены в директории
outputв формате.md.
Для каждого проверенного отчета будут созданы следующие файлы:[наименование отчета]_check_results.md— результаты проверки[наименование отчета]_criteria.md— критерии проверки (адаптированные под паспорт проекта или исходные)[наименование отчета]_feedback.md— обратная связь для студента (если параметр--skip-feedbackпри запуске не указан)
Также в директории с проектом будет создан файл
docs_status.jsonс информацией о статусе проверки каждого документа. Если проверка какого-либо отчета завершилась с ошибкой, то в файл будет записан соответствующий статус.При необходимости можно запустить проверку снова, при этом будут пропущены все отчеты, которые были успешно проверены ранее.
Для удобства в процессе проверки формируется файл с логами
ai_assistant_pp.log, который сохраняется в директорию с проектом.









