Spaces:
Sleeping
Sleeping
File size: 4,025 Bytes
339165d |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
import gradio as gr
from transformers import pipeline
from happytransformer import HappyTextToText, TTSettings
def translate(language_1, language_2, message):
translator = pipeline(f"translation", model="Helsinki-NLP/opus-mt-{}-{}".format(language_1, language_2))
output = translator(message)
return output[0]['translation_text']
def summarize(text):
summerizer = pipeline("summarization", model="facebook/bart-large-cnn")
output = summerizer(text)
return output[0]['summary_text']
def question(question, context):
question_model = pipeline("question-answering", model="deepset/roberta-base-squad2")
output = question_model({
'question': question,
'context' : context
})
return output['answer']
def grammar(user_input):
grammar_model = HappyTextToText("T5", "vennify/t5-base-grammar-correction")
args = TTSettings(num_beams=5, min_length=1)
output = grammar_model.generate_text('grammar: ' + user_input, args=args)
return output.text
def mask(text):
mask_model = pipeline("fill-mask", model="google-bert/bert-base-uncased")
output = mask_model(text)
return output[0]['sequence']
def multi_model(text):
mask_model = mask(text)
summerize_model = summarize(mask_model)
question_model = question('Is this text about politics?', summerize_model)
translation_model = translate('en', 'nl', question_model)
grammar_model = grammar(translation_model)
return grammar_model
with gr.Blocks() as demo:
gr.Markdown("Technology 2 - Ai interfaces")
#tab single model
with gr.Tab("Single-Models"):
with gr.Row(equal_height=True):
#column left (1)
with gr.Column(scale=1):
choice1 = gr.Dropdown(
choices=["nl", "fr", "en"],
label="Select an option")
choice2 = gr.Dropdown(
choices=["nl", "fr", "en"],
label="Select an option")
textbox = gr.Textbox(label="message")
translate_btn = gr.Button("Translate")
translated_box = gr.Textbox()
translate_btn.click(fn=translate,
inputs=[choice1, choice2, textbox],
outputs=translated_box )
#column right (2)
with gr.Column(scale=1):
textbox_summary = gr.Textbox(label="text you want to summarize")
textbox_summary_output = gr.Textbox()
summary_btn = gr.Button('summarize')
summary_btn.click(fn=summarize,
inputs=textbox_summary,
outputs=textbox_summary_output)
with gr.Column(scale=1):
textbox_question = gr.Textbox(label = 'question')
textbox_context = gr.Textbox(label = 'context')
textbox_question_output = gr.Textbox()
question_btn = gr.Button("Get your Answer")
question_btn.click(fn=question,
inputs=[textbox_question, textbox_context],
outputs = textbox_question_output)
with gr.Column(scale=1):
textbox_mask = gr.Textbox(label="Give me a sentance and use the word [MASK] to predict what will go there")
mask_button = gr.Button("Generate")
textbox_mask_output = gr.Textbox()
mask_button.click(fn=mask,
inputs = textbox_mask,
outputs = textbox_mask_output)
with gr.Column(scale=1):
textbox_grammar = gr.Textbox(label="I will correct your grammar mistakes.")
grammar_button = gr.Button("Fix grammar")
textbox_grammar_output = gr.Textbox()
grammar_button.click(fn=grammar,
inputs=textbox_grammar,
outputs=textbox_grammar_output)
#tab mulit model
with gr.Tab("Multi-Models"):
textblock = gr.Textbox(label="give me a sentence and replace some words with [MASK] and i will summerize and translate it for your")
btn1 = gr.Button("START")
response = gr.Textbox()
btn1.click(fn=multi_model, inputs = textblock, outputs=response)
demo.launch(debug=True) |