| import joblib | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from preprocessor import clean_text | |
| app = FastAPI() | |
| model = joblib.load("tfidf_logreg_98acc.joblib") | |
| class Data(BaseModel): | |
| text: str | |
| def read_root() -> dict: | |
| return {"message": "Welcome to the Hadhari API!", "usage": "POST to /predict with {'text': 'your input'}"} | |
| def predict(data: Data) -> dict: | |
| text = clean_text(data.text) | |
| prediction = int(model.predict([text])[0]) | |
| probabilities = model.predict_proba([text])[0] | |
| confidence = float(probabilities[prediction]) | |
| return {"prediction": prediction, "confidence": confidence} | |