manjusha-r/email-classification-api
0
1from fastapi import FastAPI, Request2from pydantic import BaseModel3import joblib4import os5from utils import mask_pii6 7app = FastAPI()8 9# Load the trained model10model_path = os.path.join("model", "email_classifier.pkl")11model = joblib.load(model_path)12 13# Define input structure14class EmailInput(BaseModel):15 input_email_body: str16 17# Define output structure (optional, for clarity)18@app.post("/classify_email")19async def classify_email(data: EmailInput):20 email_body = data.input_email_body21 22 # Mask PII23 masked_text, entities = mask_pii(email_body)24 25 # Predict category26 category = model.predict([email_body])[0]27 28 return {29 "input_email_body": email_body,30 "list_of_masked_entities": entities,31 "masked_email": masked_text,32 "category_of_the_email": category33 }34 