Spaces:
Runtime error
Runtime error
| # app.py | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from typing import List | |
| import joblib | |
| import os | |
| app = FastAPI() | |
| # Load model once at startup | |
| model = joblib.load("disease_model.pkl") | |
| label_encoder = joblib.load("label_encoder.pkl") | |
| SYMPTOM_KEYWORDS = joblib.load("symptom_keywords.pkl") | |
| class SymptomRequest(BaseModel): | |
| symptoms: List[str] | |
| class PredictionResponse(BaseModel): | |
| disease: str | |
| confidence: float | |
| def predict(request: SymptomRequest): | |
| selected_set = set(s.lower() for s in request.symptoms) | |
| binary_vector = [1 if s in selected_set else 0 for s in SYMPTOM_KEYWORDS] | |
| pred = model.predict([binary_vector])[0] | |
| probas = model.predict_proba([binary_vector])[0] | |
| confidence = float(probas.max()) | |
| disease = label_encoder.inverse_transform([pred])[0] | |
| return PredictionResponse(disease=disease, confidence=round(confidence, 3)) |