Spaces:
Sleeping
Sleeping
import os | |
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' | |
import warnings | |
warnings.filterwarnings("ignore") | |
import numpy as np | |
from fastapi import FastAPI | |
from pydantic import BaseModel | |
from utils import preprocess_text | |
from model import get_model | |
import json | |
MODEL_PATH = "finetune_model1.keras" | |
model = get_model(MODEL_PATH) | |
class ReqBody(BaseModel): | |
text: str | |
INDEX_TO_CLASS = { | |
0: 'Positive', | |
1: 'Neutral', | |
2: 'Negative' | |
} | |
def predict_sentiment(tokens): | |
oup = model.predict(tokens, verbose=0) | |
label = int(np.argmax(oup, axis=-1)[0]) | |
return { | |
'sentiment': INDEX_TO_CLASS[label], | |
'probs': oup[0].tolist() | |
} | |
app = FastAPI() | |
def foo(): | |
return { | |
"status": "Sentiment Classifier" | |
} | |
def predict(req: ReqBody): | |
text = req.text | |
tokens = preprocess_text(text) | |
result = predict_sentiment(tokens) | |
return { | |
'result': json.dumps(result) | |
} |