import re import joblib from fastapi import FastAPI, Request from pydantic import BaseModel from fastapi.middleware.cors import CORSMiddleware app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=["*"], # Or restrict to your domain allow_methods=["*"], allow_headers=["*"], ) # Load model and vectorizer model = joblib.load("team_classifier_model.joblib") vectorizer = joblib.load("tfidf_vectorizer.joblib") def clean_text(text): text = re.sub(r"\s+", " ", str(text)) text = re.sub(r"[^\w\s]", "", text) return text.lower().strip() class InputText(BaseModel): subject: str message: str @app.get("/") def root(): return {"status": "running", "message": "Use POST /classify"} @app.post("/classify") async def classify_ticket(data: InputText): combined = clean_text(f"{data.subject} {data.message}") vec = vectorizer.transform([combined]) prediction = model.predict(vec)[0] return {"team": prediction}