from transformers import pipeline, AutoTokenizer, AutoModelForSeq2SeqLM import gradio as gr pipe = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es") def traducir_texto(texto_en): """ Traduce el texto de entrada del inglés al español utilizando el modelo predefinido. Args: texto_en (str): El texto en inglés que se va a traducir. Returns: str: El texto traducido al español. """ try: resultado = pipe(texto_en) return resultado[0]['translation_text'] except Exception as e: return f"Error en la traducción: {e}" def borrar_entrada(texto_entrada): """ Borra el texto del cuadro de texto de entrada. Args: texto_entrada (str): El texto actual en el cuadro de texto de entrada. Returns: str: Una cadena vacía. """ return "" with gr.Blocks() as interfaz_traductor: """ Define la interfaz gráfica de la aplicación de traducción de inglés a español. """ gr.Markdown("# Traductor Inglés a Español") texto_entrada_en = gr.Textbox(label="Texto en inglés", placeholder="Pega aquí el texto en inglés") boton_borrar = gr.Button("Borrar todo") texto_salida_es = gr.Textbox(label="Traducción al español", placeholder="La traducción aparecerá aquí", interactive=False) texto_entrada_en.change(traducir_texto, inputs=texto_entrada_en, outputs=texto_salida_es) boton_borrar.click(borrar_entrada, inputs=texto_entrada_en, outputs=texto_entrada_en) gr.Examples([["Hello World"], ["How are you doing today?"], ["Thank you very much"]], inputs=texto_entrada_en) interfaz_traductor.launch()