import gradio as gr from textblob import TextBlob def sentiment_analysis(text: str) -> dict: """ Analyze the sentiment of the given text. Args: text (str): The text to analyze Returns: dict: A dictionary containing polarity, subjectivity, and assessment """ blob = TextBlob(text) sentiment = blob.sentiment return { "polarity": round(sentiment.polarity, 2), "subjectivity": round(sentiment.subjectivity, 2), "assessment": "positive" if sentiment.polarity > 0 else "negative" if sentiment.polarity < 0 else "neutral" } # Create the Gradio interface demo = gr.Interface( fn=sentiment_analysis, inputs=gr.Textbox(label="Enter text for sentiment analysis", placeholder="Type here..."), # outputs=[ # gr.Number(label="Polarity"), # gr.Number(label="Subjectivity"), # gr.Textbox(label="Assessment") # ], outputs=gr.JSON(label="Sentiment Analysis Result"), title="Sentiment Analysis App", description="This app analyzes the sentiment of the input text using TextBlob." ) if __name__ == "__main__": demo.launch(mcp_server=True)