import gradio as gr

title = "XLNet"

description = "Gradio Demo for XLNet. 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/1906.08237' target='_blank'>XLNet: Generalized Autoregressive Pretraining for Language Understanding</a></p>"

examples = [
    ['Hello, my dog is cute','xlnet-base-cased'],
    ['从前,','chinese-xlnet-base']

]

io1 = gr.Interface.load("huggingface/xlnet-base-cased")

io2 = gr.Interface.load("huggingface/hfl/chinese-xlnet-base")


def inference(inputtext, model):
    if model == "xlnet-base-cased":
        outlabel = io1(inputtext)
    else:
        outlabel = io2(inputtext)
    return outlabel
     

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