Spaces:
Running
Running
| import gradio as gr | |
| from transformers import pipeline | |
| summarizer = pipeline('summarization') | |
| from transformers import AutoModelForQuestionAnswering, AutoTokenizer, pipeline | |
| model_name = "deepset/roberta-base-squad2" | |
| nlp = pipeline('question-answering', model=model_name, tokenizer=model_name) | |
| examples = [ | |
| [ 'Question-Answer', | |
| '', | |
| 'The option to convert models between FARM and transformers gives freedom to the user and let people easily switch between frameworks.', | |
| 'Why is model conversion important?' | |
| ], | |
| [ 'Question-Answer', | |
| '', | |
| "The Amazon rainforest is a moist broadleaf forest that covers most of the Amazon basin of South America", | |
| "Which continent is the Amazon rainforest in?" | |
| ], | |
| [ 'Question-Answer', | |
| '', | |
| 'I am a Programmer.', | |
| 'Who am I?' | |
| ] | |
| ] | |
| def summarize_text(text): | |
| summary = summarizer(text, max_length=130, min_length=30, do_sample=False) | |
| summary = summary[0]['summary_text'] | |
| return summary | |
| def question_answer(context, question): | |
| QA_input = { | |
| 'context': context, | |
| 'question': question | |
| } | |
| res = nlp(QA_input) | |
| return (res['answer']) | |
| def home_func(model_choice, summ_text, qa_context, qa_question): | |
| if model_choice=="Text Summarizer": | |
| if summ_text == "": | |
| return "Input correct text to be summarized" | |
| return summarize_text(summ_text) | |
| elif model_choice=="Question-Answer": | |
| if qa_context == "" or qa_question == "": | |
| return "Choose correct Context and associated questions" | |
| return question_answer(qa_context, qa_question) | |
| iface = gr.Interface(fn = home_func, | |
| inputs = [gr.inputs.Dropdown(["Text Summarizer", "Question-Answer"], type="value"), | |
| gr.inputs.Textbox(lines=5, placeholder="Enter your text here...", label="Text to be summarized"), | |
| gr.inputs.Textbox(lines=5, placeholder="Choose from examples", label="Context"), | |
| gr.inputs.Textbox(lines=5, placeholder="Choose from examples", label="Question")], | |
| outputs="text", | |
| examples=examples) | |
| iface.launch() |