{% extends "base.html" %} {% block title %}MLOps โ€” Ops Hub{% endblock %} {% block extra_css %} {% endblock %} {% block content %} โ† Ops Hub

๐Ÿงช MLOps

Experiments ยท Model Registry ยท Data Drift โ€” {{ classification }}

{% set exp = data.experiments %} {% set models = data.models %} {% set drift = data.drift %}
{{ exp.get('total_experiments', 'โ€”') }}
Experiments
{{ exp.get('running_runs', 0) }}
Running Runs
{{ models.get('total_models', 'โ€”') }}
Registered Models
{{ models.get('models_in_production', 0) }}
In Production

๐Ÿ”ฌ Recent Experiment Runs

{% set runs = exp.get('recent_runs', []) %} {% if runs %} {% for run in runs[:8] %}
{{ 'โ–ถ' if run.get('status') == 'running' else ('โœ“' if run.get('status') == 'completed' else 'โœ—') }} {{ run.get('run_name', run.get('run_id','?')[:8]) }} {{ run.get('experiment_name', 'โ€”') }} {% if run.get('metrics') %} {% for k, v in run.get('metrics', {}).items() | list %}{% if loop.index <= 2 %}{{ k }}={{ v|round(4) }} {% endif %}{% endfor %} {% endif %} {{ run.get('duration_ms', '') }}ms
{% endfor %} {% else %}

No experiment runs recorded yet.

{% endif %} View full JSON โ†’

๐Ÿ“ฆ Model Registry

{% set reg_models = models.get('registry', []) %} {% if reg_models %} {% for m in reg_models[:6] %}
{{ m.get('model_name', '?') }}
v{{ m.get('version', '?') }} ยท {{ m.get('framework', '') }}
{% set stage = m.get('stage', 'none') %} {{ stage }}
{% endfor %} {% else %}

No models registered.

{% endif %}
{% if drift %}

๐Ÿ“Š Data Drift

{% if drift.get('error') %}

{{ drift.error }}

{% else %}
{{ 'โš  Yes' if drift.get('drift_detected') else 'โœ“ None' }}
Drift Detected
{{ drift.get('total_checks', 0) }}
Drift Checks
{% if drift.get('feature_drift') %}
Feature Drift Scores
{% for feat, score in drift.get('feature_drift', {}).items() | list %}{% if loop.index <= 4 %}
{{ feat }}{{ score|round(3) }}
{% endif %}{% endfor %}
{% endif %}
{% endif %}
{% endif %} {% include "includes/iqe_query_widget.html" %} {% endblock %}