File size: 674 Bytes
37c48d4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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
@app.get("/")
def read_root() -> dict:
return {"message": "Welcome to the Hadhari API!", "usage": "POST to /predict with {'text': 'your input'}"}
@app.post("/predict")
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}
|