Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -107,16 +107,17 @@ def generate_similar_question(wrong_q, misconception_id, generator):
|
|
| 107 |
}
|
| 108 |
|
| 109 |
logger.info(f"Prepared input data: {input_data}")
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
|
|
|
| 120 |
# Before module 3 integration code
|
| 121 |
# if generated_q:
|
| 122 |
# return {
|
|
@@ -129,7 +130,8 @@ def generate_similar_question(wrong_q, misconception_id, generator):
|
|
| 129 |
# integrating module3
|
| 130 |
if generated_q:
|
| 131 |
verifier = load_answer_verifier()
|
| 132 |
-
with st.
|
|
|
|
| 133 |
# λ΅μ κ²μ¦ μλ
|
| 134 |
verified_answer = verifier.verify_answer(
|
| 135 |
question=generated_q.question,
|
|
@@ -138,22 +140,30 @@ def generate_similar_question(wrong_q, misconception_id, generator):
|
|
| 138 |
|
| 139 |
if verified_answer:
|
| 140 |
logger.info(f"Answer verified: {verified_answer}")
|
| 141 |
-
|
| 142 |
-
|
|
|
|
| 143 |
'question': generated_q.question,
|
| 144 |
'choices': generated_q.choices,
|
| 145 |
'correct': verified_answer, # κ²μ¦λ λ΅μ μ¬μ©
|
| 146 |
'explanation': generated_q.explanation
|
| 147 |
}
|
|
|
|
|
|
|
|
|
|
| 148 |
else:
|
| 149 |
# κ²μ¦ μ€ν¨ μ μλ³Έ λ΅μ μ¬μ©
|
| 150 |
logger.warning("Answer verification failed, using original answer")
|
| 151 |
-
|
|
|
|
| 152 |
'question': generated_q.question,
|
| 153 |
'choices': generated_q.choices,
|
| 154 |
'correct': generated_q.correct_answer,
|
| 155 |
'explanation': generated_q.explanation
|
| 156 |
-
}
|
|
|
|
|
|
|
|
|
|
| 157 |
except Exception as e:
|
| 158 |
logger.error(f"Error in generate_similar_question: {str(e)}")
|
| 159 |
st.error(f"λ¬Έμ μμ± μ€ μ€λ₯κ° λ°μνμ΅λλ€: {str(e)}")
|
|
|
|
| 107 |
}
|
| 108 |
|
| 109 |
logger.info(f"Prepared input data: {input_data}")
|
| 110 |
+
|
| 111 |
+
with st.spinner("π μ μ¬ λ¬Έμ λ₯Ό μμ±νκ³ μμ΅λλ€..."):
|
| 112 |
+
# μ μ¬ λ¬Έμ μμ± νΈμΆ
|
| 113 |
+
generated_q, _ = generator.generate_similar_question_with_text(
|
| 114 |
+
construct_name=input_data['construct_name'],
|
| 115 |
+
subject_name=input_data['subject_name'],
|
| 116 |
+
question_text=input_data['question_text'],
|
| 117 |
+
correct_answer_text=input_data['correct_answer_text'],
|
| 118 |
+
wrong_answer_text=input_data['wrong_answer_text'],
|
| 119 |
+
misconception_id=input_data['misconception_id']
|
| 120 |
+
)
|
| 121 |
# Before module 3 integration code
|
| 122 |
# if generated_q:
|
| 123 |
# return {
|
|
|
|
| 130 |
# integrating module3
|
| 131 |
if generated_q:
|
| 132 |
verifier = load_answer_verifier()
|
| 133 |
+
with st.status("π€ AIκ° λ¬Έμ λ₯Ό κ²ν νκ³ μμ΅λλ€..."):
|
| 134 |
+
st.write("λ΅μμ μ νμ±μ κ²μ¦νκ³ μμ΅λλ€...")
|
| 135 |
# λ΅μ κ²μ¦ μλ
|
| 136 |
verified_answer = verifier.verify_answer(
|
| 137 |
question=generated_q.question,
|
|
|
|
| 140 |
|
| 141 |
if verified_answer:
|
| 142 |
logger.info(f"Answer verified: {verified_answer}")
|
| 143 |
+
st.write("β
κ²μ¦ μλ£!")
|
| 144 |
+
# μΈμ
μ€ν
μ΄νΈμ μ λ΅ μ μ₯
|
| 145 |
+
result = {
|
| 146 |
'question': generated_q.question,
|
| 147 |
'choices': generated_q.choices,
|
| 148 |
'correct': verified_answer, # κ²μ¦λ λ΅μ μ¬μ©
|
| 149 |
'explanation': generated_q.explanation
|
| 150 |
}
|
| 151 |
+
# μ λ΅μ μΈμ
μ€ν
μ΄νΈμ μ μ₯
|
| 152 |
+
st.session_state['current_similar_question_answer'] = verified_answer
|
| 153 |
+
return result
|
| 154 |
else:
|
| 155 |
# κ²μ¦ μ€ν¨ μ μλ³Έ λ΅μ μ¬μ©
|
| 156 |
logger.warning("Answer verification failed, using original answer")
|
| 157 |
+
st.write("β οΈ κ²μ¦μ μ€ν¨νμ΅λλ€. μλ³Έ λ΅μμ μ¬μ©ν©λλ€.")
|
| 158 |
+
result = {
|
| 159 |
'question': generated_q.question,
|
| 160 |
'choices': generated_q.choices,
|
| 161 |
'correct': generated_q.correct_answer,
|
| 162 |
'explanation': generated_q.explanation
|
| 163 |
+
}
|
| 164 |
+
# μ λ΅μ μΈμ
μ€ν
μ΄νΈμ μ μ₯
|
| 165 |
+
st.session_state['current_similar_question_answer'] = generated_q.correct_answer
|
| 166 |
+
return result
|
| 167 |
except Exception as e:
|
| 168 |
logger.error(f"Error in generate_similar_question: {str(e)}")
|
| 169 |
st.error(f"λ¬Έμ μμ± μ€ μ€λ₯κ° λ°μνμ΅λλ€: {str(e)}")
|