app = Flask(__name__)
If youâre a dataâengineer, MLâops lead, or just a curious ML enthusiast, keep scrolling â this post gives you a , a codeâfirst quickâstart , and a practical checklist to decide if the MLHB App belongs in your stack. 1ď¸âŁ What Is the MLHB App? MLHB stands for MachineâLearning HealthâDashboard . The app is an openâsource (MITâlicensed) web UI + API that aggregates telemetry from any ML model (training, inference, batch, or streaming) and visualises it in a healthâmonitoring dashboard.
return jsonify("sentiment": sentiment, "latency_ms": latency * 1000)
# app.py from flask import Flask, request, jsonify import mlhbdapp
# Install the SDK and the agent pip install mlhbdapp==2.3.0 # docker-compose.yml (copyâpaste) version: "3.9" services: mlhbdapp-server: image: mlhbdapp/server:2.3 container_name: mlhbdapp-server ports: - "8080:8080" # UI & API environment: - POSTGRES_PASSWORD=mlhb_secret - POSTGRES_DB=mlhb volumes: - mlhb-data:/var/lib/postgresql/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 10s timeout: 5s retries: 5
# Record metrics request_counter.inc() mlhbdapp.Gauge("inference_latency_ms").set(latency * 1000) mlhbdapp.Gauge("model_accuracy").set(0.92) # just for demo
mlhbdapp.register_drift( feature_name="age", baseline_path="/data/training/age_distribution.json", current_source=lambda: fetch_current_features()["age"], # a callable test="psi" # options: psi, ks, wasserstein ) The dashboard will now show a gauge and generate alerts when the PSI > 0.2. Tip: The SDK ships with builtâin helpers for Spark , Pandas , and TensorFlow data pipelines ( mlhbdapp.spark_helper , mlhbdapp.pandas_helper , etc.). 5ď¸âŁ New Features in v2.3 (Released 2026â02â15) | Feature | What It Does | How to Enable | |---------|--------------|---------------| | AIâExplainable Anomalies | When a metric exceeds a threshold, the server calls an LLM (OpenAI, Anthropic, or local Ollama) to produce a naturalâlanguage rootâcause hypothesis (e.g., âLatency spike caused by GC pressure on GPU 0â). | Set MLHB_EXPLAINER=openai and provide OPENAI_API_KEY in env. | | LiveâQuery Notebooks | Embedded JupyterâLite environment in the UI; you can query the telemetry DB with SQL or Python Pandas and instantly plot results. | Click Notebook â âCreate Newâ. | | Teams & Slack Bot Integration | Rich interactive messages (charts + âAcknowledgeâ button) sent to your chat channel. | Add MLHB_SLACK_WEBHOOK or MLHB_TEAMS_WEBHOOK . | | Plugin SDK v2 | Write plugins in Python (for backend) or TypeScript (for UI widgets). Supports hotâreload without server restart. | mlhbdapp plugin create my_plugin . | | Improved Security | Roleâbased OAuth2 (Google, Azure AD, Okta) + optional SSO via SAML. | Set
đ MLHB Server listening on http://0.0.0.0:8080 Example : A tiny Flask inference API.