DataPilot-AI-Agent / datapilot /observability.py
dineshb's picture
Deploy DataPilot AI production Docker Space
9c1c0ef verified
Raw
History Blame Contribute Delete
1.07 kB
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