Skip to main content

Introduction

Guardian provides real-time monitoring for AI systems in production. Detect drift, anomalies, and performance degradation before they impact users.

Key Features

Drift Detection

TypeDescriptionMethod
Data DriftInput feature distribution changesPSI, KS Test, Chi-Square
Prediction DriftOutput distribution changesKL Divergence, JS Distance
Concept DriftRelationship between inputs and outputs changesPerformance monitoring
Label DriftGround truth distribution changesDistribution comparison

Anomaly Detection

Guardian identifies unusual patterns in:
  • Input anomalies: Out-of-distribution inputs
  • Output anomalies: Unexpected predictions
  • Latency anomalies: Performance degradation
  • Error spikes: Increased failure rates

Alerting

Configure alerts based on:
  • Metric thresholds (e.g., PSI > 0.2)
  • Percentage changes (e.g., accuracy drops 5%)
  • Anomaly detection
  • SLA violations

Quick Example

from rotavision import Rotavision

client = Rotavision()

# Create a monitor
monitor = client.guardian.create_monitor(
    model_id="recommendation-v3",
    name="Prod Recommendations",
    metrics=["prediction_drift", "latency_p99", "error_rate"],
    alerts=[
        {"metric": "prediction_drift", "threshold": 0.1, "severity": "warning"},
        {"metric": "prediction_drift", "threshold": 0.2, "severity": "critical"},
        {"metric": "latency_p99", "threshold": 500, "severity": "warning"},
    ]
)

# Log inferences (typically in your serving code)
client.guardian.log_inference(
    monitor_id=monitor.id,
    input_data=features,
    prediction=prediction,
    latency_ms=45,
    metadata={"user_segment": "premium"}
)

# Check for alerts
alerts = client.guardian.get_alerts(
    monitor_id=monitor.id,
    status="active"
)

Endpoints

MethodEndpointDescription
POST/guardian/monitorsCreate a monitor
GET/guardian/monitors/{id}Get monitor details
GET/guardian/monitorsList monitors
PATCH/guardian/monitors/{id}Update monitor config
DELETE/guardian/monitors/{id}Delete a monitor
POST/guardian/monitors/{id}/inferencesLog single inference
POST/guardian/monitors/{id}/inferences/batchLog batch of inferences
GET/guardian/monitors/{id}/metricsGet monitoring metrics
GET/guardian/monitors/{id}/alertsGet monitor alerts
POST/guardian/alerts/{id}/acknowledgeAcknowledge an alert
POST/guardian/alerts/{id}/resolveResolve an alert