EXt1's picture
import functional
8438621
import os
os.system('pip install transformers gradio torch')
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import gradio as gr
import torch.nn.functional as F
tokenizer = AutoTokenizer.from_pretrained("EXt1/mdeberta-v3-base-thai-fakenews")
model = AutoModelForSequenceClassification.from_pretrained("EXt1/mdeberta-v3-base-thai-fakenews")
def classify_fake_news(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
outputs = model(**inputs)
logits = outputs.logits
probs = F.softmax(logits, dim=1)
probs = probs.detach().cpu().numpy()[0]
labels = ["Real News", "Fake News"]
predicted_class = probs.argmax()
label = labels[predicted_class]
prob = float(probs[predicted_class]) * 100
return label, f"{prob:.2f}%"
# Create Gradio interface
gr.Interface(
fn=classify_fake_news,
inputs=gr.Textbox(lines=8, placeholder="Enter text here..."),
outputs="text",
title="Thai Fake News Classification using mdeberta-v3-base",
description="Classifies Thai News as Fake or Real with 91 percent accuracy using a fine-tuned BERT model",
theme="compact"
).launch()