File size: 2,384 Bytes
7f4441c f681712 f087849 7f4441c 5e95e64 7f4441c f681712 c558203 5e95e64 1746c02 cbfbd5b f681712 f087849 f681712 1746c02 cbfbd5b c558203 f681712 f087849 f681712 c558203 7f4441c 17411ab e55f380 f087849 17411ab 1746c02 92ea409 3d50c56 1746c02 ad6d0f0 f087849 c558203 92ea409 c558203 ad6d0f0 f087849 17411ab f087849 f681712 f087849 b16dc36 f681712 17411ab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import gradio as gr
# μ μ μνλ₯Ό μ μ§νλ λ³μ
state = {"question": "", "recordings": [], "comments": []}
# μ μλμ μ§λ¬Έ μ
λ ₯ λ°κΈ°
def teacher_question(question):
state["question"] = question
return question
# νμλ€μ μμ± λ
Ήμ λ° μ μ₯
def record_student_voice(voice):
if state["question"]:
state["recordings"].append(voice)
return f"Voice recorded successfully for question: {state['question']}"
else:
return "Please submit a question first."
# λκΈ μ μ₯
def write_comment(comment):
if state["question"]:
state["comments"].append(comment)
return f"Comment added successfully for question: {state['question']}"
else:
return "Please submit a question first."
# Gradio μΈν°νμ΄μ€ μ μ
with gr.Blocks() as demo:
with gr.Tab("Teacher's Question"):
question_input = gr.Textbox(lines=2, placeholder="Enter your question here...", label="Teacher's Question")
submit_question = gr.Button("Submit")
output_question = gr.Textbox(label="Question", interactive=False)
submit_question.click(fn=teacher_question, inputs=question_input, outputs=output_question)
with gr.Tab("Record Voice"):
question_display = gr.Markdown(value="Question will appear here after submission")
voice_input = gr.Audio(type="numpy", label="Record your voice")
submit_voice = gr.Button("Submit Voice")
output_voice = gr.Textbox(label="Status")
submit_voice.click(fn=record_student_voice, inputs=voice_input, outputs=output_voice)
with gr.Tab("Write Comment"):
comment_display = gr.Markdown(value="Question will appear here after submission")
comment_input = gr.Textbox(placeholder="Your comment", label="Comment")
submit_comment = gr.Button("Submit Comment")
output_comment = gr.Textbox(label="Status")
submit_comment.click(fn=write_comment, inputs=comment_input, outputs=output_comment)
# μ
λ°μ΄νΈ ν¨μ μ μ
def update_question_display():
return state["question"]
# νμ΄μ§ λ‘λ μ μ§λ¬Έ μ
λ°μ΄νΈ
demo.load(fn=update_question_display, outputs=[output_question, question_display, comment_display])
submit_question.click(fn=update_question_display, outputs=[output_question, question_display, comment_display])
demo.launch()
|