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 assesment """ blob = TextBlob(text) sentiment = blob.sentiment return { "polarity": round(sentiment.polarity, 2), #[-1 (Negative), 1 (Positive)] "subjectivity": round(sentiment.subjectivity, 2), #[0 (objective),1(subjective)] "assement": "positive" if sentiment.polarity >0 else "negative" if sentiment.polarity<0 else "neutral" } # Gradio interface demo = gr.Interface( fn = sentiment_analysis, inputs= gr.Textbox(placeholder="Enter text to analyze..."), outputs= gr.JSON(), title="Text Sentiment Analysis", description="Analyse the sentiment of text using TextBlob" ) if __name__ == "__main__": demo.launch(mcp_server=True)