Spaces:
Build error
Build error
| # | |
| # | |
| 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 | |
| _polarity = round(sentiment.polarity, 2) # -1 (negative) to 1 (positive) | |
| _subjectivity = round(sentiment.subjectivity, 2) # 0 (objective) to 1 (subjective) | |
| _assessment = "positive" if _polarity > 0 else \ | |
| "negative" if _polarity < 0 else "neutral" | |
| return { | |
| "polarity": _polarity, | |
| "subjectivity": _subjectivity, | |
| "assessment": _assessment, | |
| } | |
| # Create the Gradio interface | |
| 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" | |
| ) | |
| # Launch the interface and MCP server | |
| if __name__ == "__main__": | |
| demo.launch(mcp_server=True) |