celpri
feat: monitoring logs + streamlit dashboard (step3)
5e4885c
import joblib
from pathlib import Path
import os
from huggingface_hub import hf_hub_download
import os
from huggingface_hub import hf_hub_download
import joblib
# On récupère le token hf
token = os.environ.get("HF_TOKEN")
def load_model():
try:
# On pointe vers le bon dépôt de modèle
model_path = hf_hub_download(
repo_id="PCelia/credit-scoring-model",
filename="model.joblib",
token=token
)
print("Modèle chargé avec succès depuis le Hub !")
return joblib.load(model_path)
except Exception as e:
print(f"Échec HF Hub: {e}")
# Local
try:
import mlflow.sklearn
# On définit le chemin de ta DB mlflow relative à ce fichier
current_dir = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(current_dir, "..", "..", "mlflow.db")
mlflow.set_tracking_uri(f"sqlite:///{db_path}")
model_uri = "models:/CreditScoring_LightGBM/Production"
return mlflow.sklearn.load_model(model_uri)
except Exception as e:
print(f"Échec chargement MLflow: {e}")
raise FileNotFoundError("Impossible de charger le modèle (ni HF Hub, ni MLflow)")
# import joblib
# from pathlib import Path
# def load_model():
# # HF Space
# hf_path = Path("model.joblib")
# if hf_path.exists():
# return joblib.load(hf_path)
# # Local
# local_path = Path(__file__).resolve().parents[2] / "app" / "model.joblib"
# if local_path.exists():
# return joblib.load(local_path)
# raise FileNotFoundError("model.joblib not found")
# # import mlflow
# # import mlflow.sklearn
# # import os
# # current_dir = os.path.dirname(os.path.abspath(__file__))
# # db_path = os.path.join(current_dir, "..", "..", "mlflow.db")
# # mlflow.set_tracking_uri(f"sqlite:///{db_path}")
# # def load_model():
# # model_uri = "models:/CreditScoring_LightGBM/Production"
# # return mlflow.sklearn.load_model(model_uri)