File size: 1,339 Bytes
65e666c e811920 65e666c e811920 65e666c 9e06031 65e666c 9e06031 3c829a2 9e06031 65e666c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import gradio as gr
from transformers import pipeline
import spaces # 1. Import the spaces library
model_id = "AndreiUrsu/MediaManipulationDetection"
classifier = pipeline("text-classification", model=model_id)
@spaces.GPU # 2. Add the decorator to request GPU allocation
def clasifica_stire(headline, continut):
text_complet = f"{headline} {continut}"
rezultat = classifier(text_complet)[0]
eticheta_bruta = str(rezultat['label'])
scor = rezultat['score']
# Maparea etichetelor brute la textul dorit
mapare_etichete = {
"LABEL_0": "Știre Reală",
"LABEL_1": "Știre Falsă",
"0": "Știre Reală",
"1": "Știre Falsă"
}
# Extragem traducerea, sau păstrăm eticheta originală dacă nu se potrivește cu maparea
eticheta_tradusa = mapare_etichete.get(eticheta_bruta, eticheta_bruta)
return f"Rezultat: {eticheta_tradusa} (Încredere: {scor:.1%})"
demo = gr.Interface(
fn=clasifica_stire,
inputs=[
gr.Textbox(label="Headline / Titlu Știre", lines=1),
gr.Textbox(label="Conținut / Corp Text", lines=5)
],
outputs=gr.Textbox(label="Rezultat Evaluare"),
title="Detector de Manipulare Media",
description="Analizator de text în limba română pentru detectarea manipulării în știri."
)
demo.launch() |