import gradio as gr from transformers import pipeline # Modelle laden summarizer = pipeline("summarization", model="facebook/bart-large-cnn") headline_model = pipeline("text2text-generation", model="google/flan-t5-base") def simplify_and_structure(text): if not text.strip() or len(text.strip()) < 30: return "❗ Bitte gib einen längeren Text ein." try: # Zusammenfassung erzeugen summary = summarizer(text, max_length=150, min_length=40, do_sample=False)[0]['summary_text'] # Überschrift generieren headline_prompt = f"Schreibe eine passende Überschrift zu diesem Text:\n{text}" headline = headline_model(headline_prompt, max_length=20, do_sample=False)[0]['generated_text'] # Strukturierte Ausgabe output = f"## 🏷 {headline.strip()}\n\n{summary.strip()}" return output except Exception as e: return f"⚠️ Fehler:\n{str(e)}" # Gradio App with gr.Blocks() as demo: gr.Markdown("## 📚 Textvereinfachung & Überschrift (Mittelschulniveau)") input_text = gr.Textbox(label="📝 Ursprünglicher Text", lines=12) output_markdown = gr.Textbox(label="🧠 Ausgabe", lines=12, interactive=False) run_button = gr.Button("Vereinfachen & Überschrift erzeugen") run_button.click(fn=simplify_and_structure, inputs=input_text, outputs=output_markdown) demo.launch()