import gradio as gr import openai # Replace with your OpenAI API key openai.api_key = "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" def generate_question_and_answer(text): response = openai.Completion.create( engine="gpt-3.5-turbo-0301", prompt=f"Create a multiple-choice question based on the following text: \"{text}\".\nQuestion: ", max_tokens=50, n=1, ) question = response.choices[0].text.strip() response = openai.Completion.create( engine="gpt-3.5-turbo-0301", prompt=f"Generate 4 possible answers for the question: \"{question}\" based on the text: \"{text}\".\n1. Answer A: \n2. Answer B: \n3. Answer C: \n4. Answer D: ", max_tokens=50, n=1, ) answers_text = response.choices[0].text.strip() answers = answers_text.split("\n") return question, answers def get_feedback(text=None, user_answer=None, continue_quiz=None): if text: question, answers = generate_question_and_answer(text) return f"Question: {question}\nOptions:\n" + "\n".join(answers) else: return "Please input text to generate a question." iface = gr.Interface( fn=get_feedback, inputs=[ gr.inputs.Textbox(lines=5, label="Input Text"), gr.inputs.Radio(choices=["1", "2", "3", "4"], label="Your Answer"), gr.inputs.Radio(choices=["Yes", "No"], label="Continue?") ], outputs=[ gr.outputs.Textbox(label="Model Output") ], live=True ) iface.launch()