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) | |
| } |