Spaces:
Runtime error
Runtime error
| #Develop an API server on python using Fast API for the model created in the previous step. | |
| from string import punctuation | |
| from nltk.tokenize import word_tokenize | |
| import nltk | |
| from nltk.corpus import stopwords | |
| from nltk.stem import WordNetLemmatizer | |
| from os.path import dirname, join, realpath | |
| import joblib | |
| import uvicorn | |
| from fastapi import FastAPI | |
| import requests as r | |
| #from pyramid_swagger import add_swagger_view | |
| app = FastAPI( | |
| title="Sentiment Analysis API", | |
| description="A simple API that use NLP model to predict the sentiment of the airline reviews", | |
| version="0.1", | |
| ) | |
| # Load the model | |
| model = joblib.load('sentiment_classifier.pkl') | |
| vectorizer = joblib.load('vectorizer.pkl') | |
| class Inference: | |
| def __init__(self, model, vectorizer): | |
| self.model = model | |
| self.vectorizer = vectorizer | |
| def get_sentiment(self, review): | |
| new_review = [review] | |
| new_review = self.vectorizer.transform(new_review) | |
| pred = self.model.predict(new_review) | |
| if pred == 1: | |
| return 'Positive' | |
| else: | |
| return 'Negative' | |
| inference = Inference(model, vectorizer) | |
| def home(): | |
| return {"message": "Welcome to Sentiment Analysis API"} | |
| def predict_sentiment(review: str): | |
| return {"sentiment": inference.get_sentiment(review)} | |
| #app.include_router(swagger_ui_bundle, tags=["Swagger UI"]) | |
| #app.include_router(swagger_ui_expose, tags=["Swagger UI"]) | |