vladyslav
commited on
Commit
·
186dae7
1
Parent(s):
99b8fc4
Class and student name are dropdowns now
Browse files- app.py +14 -5
- constants.py +63 -0
app.py
CHANGED
@@ -5,7 +5,7 @@ import random
|
|
5 |
import gradio as gr
|
6 |
from dotenv import load_dotenv
|
7 |
|
8 |
-
from constants import MODELS, MODELS_PATH, BOOKS
|
9 |
from utils import save_results
|
10 |
|
11 |
load_dotenv()
|
@@ -35,7 +35,7 @@ def load_questions(model, book, student_name, class_name):
|
|
35 |
current_question_index = 0
|
36 |
answers_log.clear()
|
37 |
|
38 |
-
if not model or not book or
|
39 |
return "# Будь ласка, заповніть усі поля!", []
|
40 |
|
41 |
model_path = MODELS_PATH[model]
|
@@ -206,16 +206,20 @@ def prepare_questions_for_feedback(questions, answer_log):
|
|
206 |
return "\n".join(feedback)
|
207 |
|
208 |
|
|
|
|
|
|
|
|
|
209 |
with gr.Blocks() as demo:
|
210 |
with gr.Column():
|
211 |
gr.Markdown("# Оберіть модель та книгу, щоб завантажити питання")
|
212 |
|
213 |
-
|
214 |
-
|
215 |
model_radio = gr.Radio(list(MODELS.keys()), label="Оберіть модель")
|
216 |
book_radio = gr.Radio(list(BOOKS.keys()), label="Оберіть книгу")
|
217 |
-
|
218 |
load_button = gr.Button("Завантажити питання")
|
|
|
219 |
question_output = gr.Markdown(label="Питання")
|
220 |
answer_radio = gr.Radio([], label="Варіанти відповіді", interactive=True, visible=False)
|
221 |
next_button = gr.Button("Наступне питання", visible=False)
|
@@ -235,6 +239,11 @@ with gr.Blocks() as demo:
|
|
235 |
rating_buttons = gr.Radio([-2, -1, 0, 1, 2], label="Оцініть тест", visible=False, interactive=True)
|
236 |
submit_feedback_button = gr.Button("Завершити тест", visible=False)
|
237 |
|
|
|
|
|
|
|
|
|
|
|
238 |
|
239 |
def update_question(model, book, student_name, class_name):
|
240 |
question, answers = load_questions(model, book, student_name, class_name)
|
|
|
5 |
import gradio as gr
|
6 |
from dotenv import load_dotenv
|
7 |
|
8 |
+
from constants import MODELS, MODELS_PATH, BOOKS, CLASSES, STUDENTS
|
9 |
from utils import save_results
|
10 |
|
11 |
load_dotenv()
|
|
|
35 |
current_question_index = 0
|
36 |
answers_log.clear()
|
37 |
|
38 |
+
if not model or not book or student_name is None or class_name is None:
|
39 |
return "# Будь ласка, заповніть усі поля!", []
|
40 |
|
41 |
model_path = MODELS_PATH[model]
|
|
|
206 |
return "\n".join(feedback)
|
207 |
|
208 |
|
209 |
+
def update_students(class_name):
|
210 |
+
students = STUDENTS.get(class_name, [])
|
211 |
+
return gr.update(choices=students, value=None, visible=True)
|
212 |
+
|
213 |
with gr.Blocks() as demo:
|
214 |
with gr.Column():
|
215 |
gr.Markdown("# Оберіть модель та книгу, щоб завантажити питання")
|
216 |
|
217 |
+
class_name_input = gr.Dropdown(choices=CLASSES, label="Ваш клас", value=None)
|
218 |
+
student_name_input = gr.Dropdown(label="Ваше ім'я", value=None, visible=False)
|
219 |
model_radio = gr.Radio(list(MODELS.keys()), label="Оберіть модель")
|
220 |
book_radio = gr.Radio(list(BOOKS.keys()), label="Оберіть книгу")
|
|
|
221 |
load_button = gr.Button("Завантажити питання")
|
222 |
+
|
223 |
question_output = gr.Markdown(label="Питання")
|
224 |
answer_radio = gr.Radio([], label="Варіанти відповіді", interactive=True, visible=False)
|
225 |
next_button = gr.Button("Наступне питання", visible=False)
|
|
|
239 |
rating_buttons = gr.Radio([-2, -1, 0, 1, 2], label="Оцініть тест", visible=False, interactive=True)
|
240 |
submit_feedback_button = gr.Button("Завершити тест", visible=False)
|
241 |
|
242 |
+
class_name_input.change(
|
243 |
+
update_students,
|
244 |
+
inputs=[class_name_input],
|
245 |
+
outputs=[student_name_input]
|
246 |
+
)
|
247 |
|
248 |
def update_question(model, book, student_name, class_name):
|
249 |
question, answers = load_questions(model, book, student_name, class_name)
|
constants.py
CHANGED
@@ -14,3 +14,66 @@ BOOKS = {
|
|
14 |
# "Іван Нечуйлевицький - Кайдашева Сім'я": "nechuy-levytskyy-ivan-semenovych-kaydasheva-simia.json",
|
15 |
"Іван Франко - Захар Беркут": "zahar-berkut.json",
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
# "Іван Нечуйлевицький - Кайдашева Сім'я": "nechuy-levytskyy-ivan-semenovych-kaydasheva-simia.json",
|
15 |
"Іван Франко - Захар Беркут": "zahar-berkut.json",
|
16 |
}
|
17 |
+
|
18 |
+
CLASSES = ["7-A", "7-B", "7-C", "7-D"]
|
19 |
+
|
20 |
+
STUDENTS = {
|
21 |
+
"7-A": [
|
22 |
+
"Гайворонський Владислав",
|
23 |
+
"Гордін Георгій",
|
24 |
+
"Гуменний Станіслав",
|
25 |
+
"Денчик Данило",
|
26 |
+
"Кичила Ілля",
|
27 |
+
"Климчкук Марія",
|
28 |
+
"Коньков Владислав",
|
29 |
+
"Молчанов Лев",
|
30 |
+
"Нємець Майя",
|
31 |
+
"Панасенко Микита",
|
32 |
+
"Паславська Марія",
|
33 |
+
"Рипаленко Артем",
|
34 |
+
"Савченко Роман",
|
35 |
+
"Смолкіна Соф'я",
|
36 |
+
"Страховецька Софія",
|
37 |
+
],
|
38 |
+
"7-B": [
|
39 |
+
"Авдєєва Аліса",
|
40 |
+
"Агапов Олександр",
|
41 |
+
"Горюн Любава",
|
42 |
+
"Доротюк Варвара",
|
43 |
+
"Дробот Дмитро",
|
44 |
+
"Зіоменко Олег",
|
45 |
+
"Золотько Варвара",
|
46 |
+
"Ільєнко Софія",
|
47 |
+
"Книш Ксенія",
|
48 |
+
"Кувалдіна Катерина",
|
49 |
+
"Лемішев Кирило",
|
50 |
+
"Хоменко Валерія",
|
51 |
+
"Хорошавіна Софія",
|
52 |
+
"Шепеленко Віола",
|
53 |
+
"Щербина Герасим",
|
54 |
+
],
|
55 |
+
"7-C": [
|
56 |
+
"Безрук Дар'я",
|
57 |
+
"Бець Вероніка",
|
58 |
+
"Головньова Владислава",
|
59 |
+
"Данченков Микита",
|
60 |
+
"Кадничанський Іосиф",
|
61 |
+
"Конопельцева Мілана",
|
62 |
+
"Муковоз Гліб",
|
63 |
+
"Положій Захар",
|
64 |
+
"Поручіков Владислав",
|
65 |
+
"Прокіпець Вероніка",
|
66 |
+
"Сирота Дмитро",
|
67 |
+
"Сомов Максим",
|
68 |
+
"Таран Вікторія",
|
69 |
+
"Чумачок Софія",
|
70 |
+
"Шигалевська Марія",
|
71 |
+
],
|
72 |
+
"7-D": [
|
73 |
+
"Капустеринська Аліса",
|
74 |
+
"Леонідова Мілада",
|
75 |
+
"Олійник Давід",
|
76 |
+
"Шевченко Олександра",
|
77 |
+
"Щербакова Марія",
|
78 |
+
]
|
79 |
+
}
|