Skip to main content

Yet Another AI monitoring — SDK and self-hosted ML model monitoring platform

Project description

YAAI Monitoring

Yet Another AI Monitoring — because the existing ones didn't fit and building your own seemed like a good idea at the time.

Documentation  ·  Getting Started  ·  Server Setup  ·  Deployment


Models Overview

Why This Exists

Most ML monitoring tools make you configure dashboards by hand, wire up custom pipelines, and learn their specific way of thinking before you see any value. YAAI takes a different approach:

  • REST-based — send JSON, done
  • Auto-everything — dashboards, drift detection, comparisons generated from your schema
  • Zero config — no YAML files, no property mappings, no pipeline integrations

Define your fields once (or let YAAI guess them), send data, get insights.

Quick Start

git clone https://github.com/Maxl94/yaai.git
cd yaai
cp .env.example .env
docker compose up -d

Open http://localhost:8000 — the server and frontend are ready.

Default login: admin / check the server logs for the generated password.

For detailed setup instructions, see the Server Setup Guide (development) or the Deployment Guide (production).

Installation

pip install yaai-monitoring              # SDK only (httpx + pydantic)
pip install "yaai-monitoring[server]"    # Full server
pip install "yaai-monitoring[server,gcp]" # Server + Google Cloud support

SDK Example

import asyncio
from yaai import YaaiClient
from yaai.schemas.model import SchemaFieldCreate

async def main():
    async with YaaiClient("http://localhost:8000/api/v1", api_key="yaam_...") as client:
        model = await client.create_model("fraud-detector")
        version = await client.create_model_version(
            model_id=model.id,
            version="v1.0",
            schema_fields=[
                SchemaFieldCreate(field_name="amount", direction="input", data_type="numerical"),
                SchemaFieldCreate(field_name="country", direction="input", data_type="categorical"),
                SchemaFieldCreate(field_name="is_fraud", direction="output", data_type="categorical"),
            ],
        )
        await client.add_inferences(
            model_version_id=version.id,
            records=[
                {"inputs": {"amount": 42.0, "country": "US"}, "outputs": {"is_fraud": "false"}},
                {"inputs": {"amount": 9001.0, "country": "NG"}, "outputs": {"is_fraud": "true"}},
            ],
        )

asyncio.run(main())

Screenshots

Dashboard

Dashboard

Drift Detection

Drift

Features

  • Schema-driven — define fields once, everything else is automatic
  • Drift detection — PSI, KS test, Chi-squared, Jensen-Shannon divergence
  • Scheduled jobs — cron-based checks with configurable windows
  • Auto-dashboards — per-feature distribution charts
  • Time comparisons — compare any two periods side by side
  • Auth — local accounts, Google OAuth, API keys, Google service accounts
  • Cloud SQL support — IAM-authenticated connections to Google Cloud SQL

Documentation

Full documentation is available at maxl94.github.io/yaai.

Development

# Start database
docker compose up db -d

# Install dependencies
uv sync
cd frontend && npm ci && cd ..

# Start backend (hot-reload)
cp .env.example .env
uv run uvicorn yaai.server.main:app --reload --reload-dir yaai --host 0.0.0.0 --port 8000

# Start frontend (separate terminal, hot-reload)
cd frontend && npm run dev
# Run tests
uv run pytest
cd frontend && npm run type-check

See CONTRIBUTING.md for commit conventions and PR guidelines.

License

Elastic License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yaai_monitoring-0.6.0.tar.gz (6.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yaai_monitoring-0.6.0-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

Details for the file yaai_monitoring-0.6.0.tar.gz.

File metadata

  • Download URL: yaai_monitoring-0.6.0.tar.gz
  • Upload date:
  • Size: 6.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for yaai_monitoring-0.6.0.tar.gz
Algorithm Hash digest
SHA256 f7a8ad04b3868597cd516cee0a173a874a26783323703c30fa8cc29d740e4d70
MD5 d175840df95cc5261074faeeaa960f83
BLAKE2b-256 ea1fc2f47d648a2ac5a7aaf01a37b24fa423f7b85d986adeae269a6dd104a129

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaai_monitoring-0.6.0.tar.gz:

Publisher: release.yml on Maxl94/yaai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yaai_monitoring-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for yaai_monitoring-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db97469c84cdb0f70453c3726d1ab2c2e529e076a931b233d4100f8a13d51e02
MD5 178d690deb633271dbe0c816c832b1ae
BLAKE2b-256 cb1b477d91f61daa8af109636b1d6877d27f2418416ab0d7158b8998c1313513

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaai_monitoring-0.6.0-py3-none-any.whl:

Publisher: release.yml on Maxl94/yaai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page