Spaces:
Running
Running
Hardik commited on
Commit ·
b94512a
1
Parent(s): b6b2e33
Add load_errors to health endpoint for debugging
Browse files
ml_service/app/api/routes.py
CHANGED
|
@@ -70,14 +70,15 @@ async def predict(request: PredictRequest):
|
|
| 70 |
async def health_check() -> Dict[str, Any]:
|
| 71 |
return {
|
| 72 |
"status": "healthy",
|
| 73 |
-
"backend": False,
|
| 74 |
"ml_service": True,
|
| 75 |
-
"database": False,
|
| 76 |
"models_loaded": {
|
| 77 |
"logistic_regression": model_manager.models_loaded.get("logistic_regression", False),
|
| 78 |
"lstm": model_manager.models_loaded.get("lstm", False),
|
| 79 |
"bert": model_manager.models_loaded.get("bert", False)
|
| 80 |
},
|
|
|
|
| 81 |
"version": "1.0.0"
|
| 82 |
}
|
| 83 |
|
|
|
|
| 70 |
async def health_check() -> Dict[str, Any]:
|
| 71 |
return {
|
| 72 |
"status": "healthy",
|
| 73 |
+
"backend": False,
|
| 74 |
"ml_service": True,
|
| 75 |
+
"database": False,
|
| 76 |
"models_loaded": {
|
| 77 |
"logistic_regression": model_manager.models_loaded.get("logistic_regression", False),
|
| 78 |
"lstm": model_manager.models_loaded.get("lstm", False),
|
| 79 |
"bert": model_manager.models_loaded.get("bert", False)
|
| 80 |
},
|
| 81 |
+
"load_errors": model_manager.load_errors,
|
| 82 |
"version": "1.0.0"
|
| 83 |
}
|
| 84 |
|
ml_service/app/services/model_loader.py
CHANGED
|
@@ -34,6 +34,7 @@ class ModelManager:
|
|
| 34 |
"lstm": False,
|
| 35 |
"bert": False
|
| 36 |
}
|
|
|
|
| 37 |
|
| 38 |
# LR specific
|
| 39 |
self.lr_model = None
|
|
@@ -89,6 +90,7 @@ class ModelManager:
|
|
| 89 |
self.lr_model = joblib.load(model_path)
|
| 90 |
self.models_loaded["logistic_regression"] = True
|
| 91 |
except Exception as e:
|
|
|
|
| 92 |
print(f"Failed to load Logistic Regression: {e}")
|
| 93 |
|
| 94 |
def load_lstm(self):
|
|
@@ -126,6 +128,7 @@ class ModelManager:
|
|
| 126 |
self.lstm_config = pickle.load(f)
|
| 127 |
self.models_loaded["lstm"] = True
|
| 128 |
except Exception as e:
|
|
|
|
| 129 |
print(f"Failed to load LSTM: {e}")
|
| 130 |
|
| 131 |
def load_bert(self):
|
|
@@ -143,6 +146,7 @@ class ModelManager:
|
|
| 143 |
|
| 144 |
self.models_loaded["bert"] = True
|
| 145 |
except Exception as e:
|
|
|
|
| 146 |
print(f"Failed to load BERT: {e}")
|
| 147 |
|
| 148 |
model_manager = ModelManager()
|
|
|
|
| 34 |
"lstm": False,
|
| 35 |
"bert": False
|
| 36 |
}
|
| 37 |
+
self.load_errors = {}
|
| 38 |
|
| 39 |
# LR specific
|
| 40 |
self.lr_model = None
|
|
|
|
| 90 |
self.lr_model = joblib.load(model_path)
|
| 91 |
self.models_loaded["logistic_regression"] = True
|
| 92 |
except Exception as e:
|
| 93 |
+
self.load_errors["lr"] = str(e)
|
| 94 |
print(f"Failed to load Logistic Regression: {e}")
|
| 95 |
|
| 96 |
def load_lstm(self):
|
|
|
|
| 128 |
self.lstm_config = pickle.load(f)
|
| 129 |
self.models_loaded["lstm"] = True
|
| 130 |
except Exception as e:
|
| 131 |
+
self.load_errors["lstm"] = str(e)
|
| 132 |
print(f"Failed to load LSTM: {e}")
|
| 133 |
|
| 134 |
def load_bert(self):
|
|
|
|
| 146 |
|
| 147 |
self.models_loaded["bert"] = True
|
| 148 |
except Exception as e:
|
| 149 |
+
self.load_errors["bert"] = str(e)
|
| 150 |
print(f"Failed to load BERT: {e}")
|
| 151 |
|
| 152 |
model_manager = ModelManager()
|