Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, HTTPException | |
| from pydantic import BaseModel, validator | |
| from transformers import pipeline | |
| # Initialize the FastAPI app | |
| app = FastAPI() | |
| # Load the sentiment analysis pipeline | |
| sentiment_model = pipeline("text-classification", model="MarieAngeA13/Sentiment-Analysis-BERT") | |
| # Define a Pydantic model for the input data | |
| class Text(BaseModel): | |
| text: str | |
| def must_not_be_blank(cls, value): | |
| if not value.strip(): # Check if the text is not just whitespace | |
| raise ValueError('Text must not be empty or just whitespace') | |
| return value | |
| def read_root(): | |
| return {"Hello": "Welcome to our Sentiment Analysis API, type '/docs' after the <URL> to access the Swagger UI"} | |
| def analyze(text: Text): | |
| try: | |
| # Process the text through the sentiment analysis model | |
| result = sentiment_model(text.text) | |
| return {"result": result} | |
| except ValueError as ve: | |
| # Handle validation errors, which occur when text is empty or just whitespace | |
| raise HTTPException(status_code=400, detail=str(ve)) | |
| except Exception as e: | |
| # Handle all other kinds of unexpected errors | |
| raise HTTPException(status_code=500, detail="An error occurred during the analysis.") | |