German-Flan-T5 / app.py
AFischer1985's picture
Add description
91e9296
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()