from generateDistractors.senseToVec import S2V from keyExtractor.rake import KeyExtractor from questionGeneration.questionGeneration import QuestionGeneration from summarizer.summarizer import Summarizer import gradio as gr sense2Vec = S2V() Key = KeyExtractor() Question = QuestionGeneration() Summary = Summarizer() def run(text): result = [] summarized_text = Summary.summarizer(text) print("summarized_text done") imp_keywords = Key.get_keywords(text) print("keywords done: ", imp_keywords) for answer in imp_keywords: ques = Question.get_question(summarized_text,answer) print("question done") distractors = sense2Vec.execute(answer) print("distractors done") result.append({ "question": ques, "answer": answer.capitalize(), "distractors": distractors }) return result if __name__ == '__main__': demo = gr.Interface(fn=run, inputs="text", outputs="json") demo.launch()