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() |