from typing import Text import gradio as gr from gradio.components.textbox import Textbox from textblob import TextBlob from ntpath import sep def sentiment_analysis(text: str) -> dict: """ Analyzes the sentiment of a given text. Args: text (str): The text to analyze. Returns: dict: A dictionary containing the sentiment polarity and 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" } 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 the est using TextBlob" ) if __name__ == "__main__": demo.launch(mcp_server=True)