Spaces:
Running
Running
import gradio as gr | |
from transformers import pipeline | |
title= "German Flan-T5" | |
desc="Kommunikation mit flan-t5-large auf Deutsch wird intern ins Englische (opus-mt-de-en) und vom Englischen (opus-mt-en-de) übersetzt." | |
examples = [ | |
["Erzähl mit eine Geschichte!",50,2,3,1,"Deutsch"], | |
["Welche Blumen sollte man jemandem zum Valentinstag schenken?",50,1,0,1,"Deutsch"], | |
["Please write a step by step recipe to make bolognese pasta!",50,2,3,2,"Englisch"] | |
] | |
tDeEn = pipeline(model="Helsinki-NLP/opus-mt-de-en") | |
tEnDe = pipeline(model="Helsinki-NLP/opus-mt-en-de") | |
bot = pipeline(model="google/flan-t5-large") | |
def solve(text,max_length,length_penalty,no_repeat_ngram_size,num_beams,language): | |
if(language=="Deutsch"): | |
text=tDeEn(text)[0]["translation_text"] | |
out=bot(text,max_length=max_length, length_penalty=length_penalty, no_repeat_ngram_size=no_repeat_ngram_size, num_beams=num_beams, early_stopping=True)[0]["generated_text"] | |
if(language=="Deutsch"): | |
out=tEnDe(out)[0]["translation_text"] | |
return out | |
task = gr.Interface( | |
fn=solve, | |
inputs=[ | |
gr.Textbox(lines=5,max_lines=6,label="Frage"), | |
gr.Slider(minimum=1.0,maximum=200.0,value=50.0,step=1,interactive=True,label="max_length"), | |
gr.Slider(minimum=1.0,maximum=20.0,value=1.0,step=1,interactive=True,label="length_penalty"), | |
gr.Slider(minimum=0.0,maximum=5.0,value=3.0,step=1,interactive=True,label="no_repeat_ngram_size"), | |
gr.Slider(minimum=1.0,maximum=20.0,value=1.0,step=1,interactive=True,label="num_beams"), | |
gr.Dropdown(["Deutsch", "Englisch"],value="Deutsch"), | |
], | |
outputs="text", | |
title=title, | |
description=desc, | |
examples=examples | |
) | |
if __name__ == "__main__": | |
task.launch() |