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, # Gateway sets this to true later
74
  "ml_service": True,
75
- "database": False, # Gateway sets this to true later
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()