import gradio as gr
title = "CTRL"

description = "Gradio Demo for CTRL. To use it, simply add your text, or click one of the examples to load them. Read more at the links below."

article = "<p style='text-align: center'><a href='https://arxiv.org/abs/1909.05858' target='_blank'>CTRL: A Conditional Transformer Language Model for Controllable Generation</a></p>"

examples = [
    ['My name is Thomas and my main',"tiny-ctrl"]
]


io1 = gr.Interface.load("huggingface/sshleifer/tiny-ctrl")

io2 = gr.Interface.load("huggingface/prajjwal1/ctrl_discovery_flipped_2")


def inference(inputtext, model):
    if model == "tiny-ctrl":
        outlabel = io1(inputtext)
    else:
        outlabel = io2(inputtext)
    return outlabel
     

gr.Interface(
    inference, 
    [gr.inputs.Textbox(label="Context",lines=10),gr.inputs.Dropdown(choices=["tiny-ctrl","ctrl_discovery_flipped_2"], type="value", default="tiny-ctrl", label="model")], 
    [gr.outputs.Textbox(label="Output")],
    examples=examples,
    article=article,
    title=title,
    description=description).launch(enable_queue=True)