Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI | |
| from fastapi.responses import HTMLResponse | |
| from pydantic import BaseModel | |
| import joblib | |
| import re | |
| app = FastAPI(title="Hinglish Semantic Reaction Bot") | |
| clf = None | |
| class PredictRequest(BaseModel): | |
| text: str | |
| class PredictResponse(BaseModel): | |
| emoji: str | |
| def preprocess(text): | |
| text = text.lower() | |
| text = re.sub(r'[^a-z\s]', '', text) | |
| return text | |
| async def load_classifier(): | |
| global clf | |
| print("Loading trained TF-IDF classifier...") | |
| clf = joblib.load("classifier.joblib") | |
| print("Startup complete. Classifier is ready.") | |
| async def serve_ui(): | |
| with open("index.html", "r") as f: | |
| html_content = f.read() | |
| return HTMLResponse(content=html_content) | |
| async def predict_emoji(request: PredictRequest): | |
| if not request.text.strip(): | |
| return PredictResponse(emoji="🤔") | |
| cleaned_text = preprocess(request.text) | |
| predicted_emoji = clf.predict([cleaned_text])[0] | |
| return PredictResponse(emoji=predicted_emoji) | |