SmartRezumat / app.py
CoxMarius's picture
Update app.py
4dbe7ed verified
import gradio as gr
from transformers import pipeline
from langdetect import detect
# Model de rezumare valid și public
summarizer = pipeline("summarization", model="csebuetnlp/mT5_multilingual_XLSum")
# Model de traducere valid pentru română → engleză
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ROMANCE-en")
def rezuma_text(text, lungime):
lang = detect(text)
if lang != "ro":
return f"⚠️ Textul detectat este în limba '{lang}', dar aplicația funcționează doar cu texte în limba română."
summary = summarizer(
text,
max_length=lungime,
min_length=int(lungime * 0.4),
do_sample=True,
temperature=0.7
)[0]['summary_text']
translated = translator(summary)[0]['translation_text']
return f"🔹 Rezumat în română:\n{summary}\n\n🔸 Traducere în engleză:\n{translated}"
gr.Interface(
fn=rezuma_text,
inputs=[
gr.Textbox(label="Text de rezumat"),
gr.Slider(50, 300, value=150, label="Lungime maximă")
],
outputs="text",
title="SmartRezumat",
description="AI care transformă texte lungi în rezumate scurte, în limba română",
css="""
body { background-color: #f5f5f5; }
.gradio-container { font-family: 'Segoe UI'; }
h1, h2 { color: #2c3e50; }
.input-textbox textarea { background-color: #ffffff; border-radius: 8px; }
"""
).launch()