Catmeow's picture
Update app.py
8e45176
import gradio as gr
from transformers import pipeline
def generate(text,the_model,max_length,temperature,num_beams,top_k,top_p,repetition_penalty):
generator = pipeline('text-generation', model=the_model)
result = generator(text, num_return_sequences=3,
max_length=max_length,
temperature=temperature,
num_beams=num_beams,
top_k=top_k,
top_p=top_p,
repetition_penalty = repetition_penalty,
no_repeat_ngram_size=2,early_stopping=False)
return result[0]["generated_text"],result[1]["generated_text"],result[2]["generated_text"]
demo = gr.Interface(
fn=generate,
inputs=[
gr.Textbox(lines=5, label="Input Text"),
gr.Dropdown(choices=['gpt2','gpt2-medium','gpt2-large','gpt2-xl'],value = 'gpt2',label="Choose model"),
gr.Slider(value=50,label="Max Length",minimum=1,maximum=1000),
gr.Slider(value=1.0,label="Temperature",minimum=0.0,maximum=1.0,step=0.05),
gr.Slider(value=4,label="Num Beams",minimum=2,maximum=6,step=1),
gr.Slider(value=90,label="Top-k",minimum=0,maximum=100),
gr.Slider(value=0.9,label="Top-p",minimum=0.1,maximum=1,step=0.05),
gr.Slider(value=1.1,label="Repetition penalty",minimum=0.2,maximum=2,step=0.1)
],
outputs=[
gr.Textbox(label="Generated Text 1"),
gr.Textbox(label="Generated Text 2"),
gr.Textbox(label="Generated Text 3")],
title = "Text Generator GPT2 Pipeline",
description = "Text Generator. \n Temperature control randomness, lowering results in less random completions. As approach the zero, the model becomes more repetitive."
)
demo.launch()