| import gradio as gr |
| from transformers import pipeline |
|
|
| classifier = pipeline( |
| "sentiment-analysis", |
| model="distilbert/distilbert-base-uncased-finetuned-sst-2-english", |
| device=-1, |
| ) |
|
|
| def classify_sentiment(text: str): |
| if not text or not text.strip(): |
| return {"error": "No text provided"} |
| |
| results = classifier(text, truncation=True, max_length=512) |
| return [ |
| {"label": r["label"], "score": round(r["score"], 4)} |
| for r in results |
| ] |
|
|
| demo = gr.Interface( |
| fn=classify_sentiment, |
| inputs=gr.Textbox(label="Article Text"), |
| outputs=gr.JSON(label="Sentiment Classification"), |
| title="Sentiment Classifier", |
| ) |
|
|
| demo.launch(ssr_mode=False) |