from transformers import pipeline import gradio as gr modelo_en_es="Helsinki-NLP/opus-mt-en-es" option="Choose a language" opcion="Escoge una opcion" text1="Text to translate" text2="Translation" modelo_es_en="Helsinki-NLP/opus-mt-es-en" texto1="Texto a traducir" texto2="Texto traducido" enviar="Enviar" def traductor(prompt,modelo): pipe = pipeline("translation", model= modelo_en_es if modelo=="En-Es" else modelo_es_en) frase_traducida=pipe(prompt) return frase_traducida[0]['translation_text'] # def actualizar(modelo): # if modelo== "En-es": # return text1, text2 # else: # return texto1, texto2 def actualizar(modelo): if modelo == "En-Es": return gr.update(label=text1), gr.update(label=text2), gr.update(label=option) else: return gr.update(label=texto1), gr.update(label=texto2), gr.update(label=opcion) with gr.Blocks() as demo: with gr.Row(): modelo=gr.Dropdown(["En-Es","Es-En"],label="Choose a language", value="En-Es") with gr.Row(): with gr.Column(): # txtbox1= gr.Textbox(label= text1 if modelo == "En-Es" else texto1) txtbox1= gr.Textbox(label=text1) with gr.Column(): # txtbox2= gr.Textbox(label= text2 if modelo == "En-Es" else texto2) txtbox2= gr.Textbox(label= text2) submit=gr.Button("Submit") modelo.change(actualizar,inputs=modelo, outputs=[txtbox1, txtbox2,modelo]) submit.click(traductor,inputs=[txtbox1,modelo],outputs=txtbox2) demo.launch()