kblysama's picture
Update app.py
3a2747c verified
import gradio as gr
from transformers import pipeline
import os
MODEL_NAME = os.getenv("MODEL_NAME", "distilbert-base-uncased-finetuned-sst-2-english")
analyzer = pipeline("sentiment-analysis", model=MODEL_NAME)
def analyze(message: str):
if not isinstance(message, str) or not message.strip():
return {"sentiment": "neutral", "score": 0.0}
result = analyzer(message)[0] # {'label': 'POSITIVE'|'NEGATIVE', 'score': 0.xx}
label = result["label"].lower()
score = float(result.get("score", 0.0))
if label not in ("positive", "negative"):
sentiment = "neutral"
elif 0.48 <= score <= 0.52:
sentiment = "neutral"
else:
sentiment = label
return {"sentiment": sentiment, "score": score}
demo = gr.Interface(
fn=analyze,
inputs=gr.Textbox(label="Mesaj"),
outputs=gr.JSON(label="Sonuç"),
title="Duygu Analizi",
allow_flagging="never"
)
if __name__ == "__main__":
demo.launch()