from transformers import pipeline import gradio as gr # Charger le modèle de résumé (BART CNN) summarizer = pipeline("summarization", model="facebook/bart-large-cnn") def summarize_text(text): if len(text.strip()) == 0: return "Veuillez entrer du texte à résumer." # Le modèle a une limite de ~1024 tokens ; on tronque si nécessaire max_input_length = 1024 inputs = summarizer.tokenizer(text, return_tensors="pt", truncation=True, max_length=max_input_length) summary = summarizer(text, max_length=130, min_length=30, do_sample=False) return summary[0]['summary_text'] # Interface Gradio with gr.Blocks(title="Résumeur IA – Chariow TechWorks") as demo: gr.Markdown("## 📝 Résumeur Automatique") gr.Markdown("Collez un texte long (article, email, note...) et obtenez un résumé clair et concis.") input_text = gr.Textbox(label="Texte à résumer", lines=10) output_text = gr.Textbox(label="Résumé", lines=5) btn = gr.Button("Résumer") btn.click(fn=summarize_text, inputs=input_text, outputs=output_text) demo.launch()