from transformers import pipeline
import gradio as gr

summarizer = pipeline("summarization", model="josmunpen/mt5-small-spanish-summarization")

def generate_summary(text):
    summary = summarizer(text, max_length=100, min_length=30, do_sample=False)
    return summary[0]['summary_text']

with gr.Blocks() as demo:
    gr.Markdown("""
    # Resumen de Texto en Español
    Esta aplicación permite generar resúmenes breves de textos largos en español. 
    Solo necesitas introducir el texto y el modelo generará un resumen conciso.
    """)

    gr.Interface(
        fn=generate_summary,
        inputs=gr.Textbox(label="Introduce el texto largo", placeholder="Escribe o pega un texto aquí..."),
        outputs=gr.Textbox(label="Resumen"),
    )

    gr.Markdown("""
    ---
    Demostración de resumen de texto usando el modelo [josmunpen/mt5-small-spanish-summarization](https://huggingface.co/josmunpen/mt5-small-spanish-summarization).
    
    Desarrollado con ❤️ por [@srjosueaaron](https://www.instagram.com/srjosueaaron/).
    """)

if __name__ == "__main__":
    demo.launch()