Spaces:
Sleeping
Sleeping
File size: 1,065 Bytes
9c1c0ef | 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 | from __future__ import annotations
from typing import Any
from datapilot.config import Settings
def log_to_mlflow(payload: dict[str, Any], settings: Settings) -> bool:
"""Record a run when MLflow is enabled; local demos remain dependency-light."""
if not settings.enable_mlflow:
return False
try:
import mlflow
mlflow.set_tracking_uri(settings.mlflow_tracking_uri)
mlflow.set_experiment("datapilot-ai")
best = payload["model_results"][0]
with mlflow.start_run(run_name=payload["run_id"]):
mlflow.log_params(
{
"dataset": payload["dataset_name"],
"task_type": payload["profile"]["task_type"],
"target": payload["profile"]["target"],
"selected_model": payload["best_model"],
}
)
mlflow.log_metrics({key: float(value) for key, value in best["metrics"].items()})
return True
except Exception:
return False
|