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.5.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.5.0-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yaai_monitoring-0.5.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.7

File hashes

Hashes for yaai_monitoring-0.5.0.tar.gz
Algorithm Hash digest
SHA256 5aee212adb6a5d11dcad9c71ef04006978fca4d7bd3a4490a79a871ca00120da
MD5 b4bc052c4886af2fc3de5dae25573ff9
BLAKE2b-256 516d2f2af78d012cead5daee42c30affaa202894b5c5614edc1fb07b7ee4d91b

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaai_monitoring-0.5.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.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for yaai_monitoring-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a6941f675ae09319eb54f01ba0c4806656690b6210dea138e9b9355ced3c35f
MD5 b3dbe48cfe35d3a43bea79636411a14d
BLAKE2b-256 e7a8f517eb9e60d820a4e795b9a2a7e6cb891d550dea057cf37991085b76518d

See more details on using hashes here.

Provenance

The following attestation bundles were made for yaai_monitoring-0.5.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