File size: 2,143 Bytes
7f4441c 3e0f3fc 7f4441c 5e95e64 7f4441c 3e0f3fc c558203 5e95e64 1746c02 cbfbd5b 3e0f3fc 1746c02 cbfbd5b c558203 3e0f3fc c558203 7f4441c 17411ab c558203 17411ab 1746c02 c558203 1746c02 c558203 17411ab c558203 3e0f3fc 0846800 c558203 0846800 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 |
import gradio as gr
# μ μ μνλ₯Ό μ μ§νλ λ³μ
state = {"question": "", "recordings": {}, "comments": {}}
# μ μλμ μ§λ¬Έ μ
λ ₯ λ°κΈ°
def teacher_question(question):
state["question"] = question
state["recordings"][question] = []
state["comments"][question] = []
return question
# νμλ€μ μμ± λ
Ήμ λ° μ μ₯
def record_student_voice(voice):
if state["question"]:
state["recordings"][state["question"]].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"][state["question"]].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="Submitted Question")
submit_question.click(teacher_question, inputs=question_input, outputs=output_question)
with gr.Tab("Record Voice"):
question_display = gr.Textbox(label="Question", interactive=False)
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(record_student_voice, inputs=[voice_input], outputs=output_voice)
with gr.Tab("Write Comment"):
comment_input = gr.Textbox(placeholder="Your comment", label="Comment")
submit_comment = gr.Button("Submit Comment")
output_comment = gr.Textbox(label="Status")
submit_comment.click(write_comment, inputs=[comment_input], outputs=output_comment)
def update_question_display():
return state["question"]
demo.load(update_question_display, outputs=question_display)
demo.launch()
|