Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -490,6 +490,50 @@ class QuizApp:
|
|
| 490 |
<p>You need 80% or higher to pass and receive a certificate.</p>
|
| 491 |
</div>
|
| 492 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 493 |
def create_quiz_interface():
|
| 494 |
if not os.getenv("GROQ_API_KEY"):
|
| 495 |
raise EnvironmentError("Please set your GROQ_API_KEY environment variable")
|
|
|
|
| 490 |
<p>You need 80% or higher to pass and receive a certificate.</p>
|
| 491 |
</div>
|
| 492 |
"""
|
| 493 |
+
def on_generate_questions(text: str, num_questions: int) -> List:
|
| 494 |
+
"""Generate quiz questions and setup initial state"""
|
| 495 |
+
success, questions = quiz_app.generate_questions(text, num_questions)
|
| 496 |
+
|
| 497 |
+
# Handle failure case
|
| 498 |
+
if not success or not questions:
|
| 499 |
+
return [
|
| 500 |
+
"", # question_display
|
| 501 |
+
gr.update(choices=[], visible=False), # current_options
|
| 502 |
+
"", # question_counter
|
| 503 |
+
gr.update(visible=False), # question_box
|
| 504 |
+
[], # current_questions
|
| 505 |
+
0, # current_question_idx
|
| 506 |
+
[None] * 5, # answer_state
|
| 507 |
+
gr.Tabs(selected=2), # tabs - navigate to assessment tab
|
| 508 |
+
gr.update(visible=False), # results_group
|
| 509 |
+
gr.update(visible=False) # view_cert_btn
|
| 510 |
+
]
|
| 511 |
+
|
| 512 |
+
# Setup initial state with first question
|
| 513 |
+
initial_answers = [None] * len(questions)
|
| 514 |
+
question = questions[0]
|
| 515 |
+
question_html = f"""
|
| 516 |
+
# Question 1 of {len(questions)}
|
| 517 |
+
|
| 518 |
+
{question.question}
|
| 519 |
+
"""
|
| 520 |
+
|
| 521 |
+
return [
|
| 522 |
+
question_html, # question_display
|
| 523 |
+
gr.update(
|
| 524 |
+
choices=question.options,
|
| 525 |
+
value=None,
|
| 526 |
+
visible=True,
|
| 527 |
+
label="Select your answer:"
|
| 528 |
+
), # current_options
|
| 529 |
+
f"Question 1 of {len(questions)}", # question_counter
|
| 530 |
+
gr.update(visible=True), # question_box
|
| 531 |
+
questions, # current_questions
|
| 532 |
+
0, # current_question_idx
|
| 533 |
+
initial_answers, # answer_state
|
| 534 |
+
gr.Tabs(selected=2), # tabs - navigate to assessment tab
|
| 535 |
+
gr.update(visible=False), # results_group
|
| 536 |
+
gr.update(visible=False) # view_cert_btn
|
| 537 |
def create_quiz_interface():
|
| 538 |
if not os.getenv("GROQ_API_KEY"):
|
| 539 |
raise EnvironmentError("Please set your GROQ_API_KEY environment variable")
|