File size: 807 Bytes
6c8cb3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import gradio as gr
from textblob import TextBlob

def sentiment_analysis(text: str) -> dict:
    """Analyze sentiment and return polarity/subjectivity/assessment."""
    pol = round(TextBlob(text).sentiment.polarity, 2)      # [-1, 1]
    subj = round(TextBlob(text).sentiment.subjectivity, 2) # [0, 1]
    return {
        "polarity": pol,
        "subjectivity": subj,
        "assessment": "positive" if pol > 0 else "negative" if pol < 0 else "neutral",
    }

demo = gr.Interface(
    fn=sentiment_analysis,
    inputs=gr.Textbox(placeholder="Enter text to analyze..."),
    outputs=gr.JSON(),
    title="Text Sentiment Analysis",
    description="Analyze the sentiment of text using TextBlob",
)

if __name__ == "__main__":
    demo.launch(mcp_server=True)  # enables the MCP server alongside the UI