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

Uploaded Python 3

File details

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

File metadata

  • Download URL: yaai_monitoring-0.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 0ff80e28b4be058cdd393f9e58ea64f7bb05f24105ac29cb209ff6251cd5fd32
MD5 79bfe3759786adc5fdeccdc743c486e2
BLAKE2b-256 d260643f0a0417eb5e691fbfcab8f9293b231c12a32c288407b2a77a61b902d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for yaai_monitoring-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc4bb43e49cd16b1c29eb1950abb1de2505d28c46e893286b0bba6aca85fa806
MD5 7e82f992213661072f42c77d4d67c82d
BLAKE2b-256 d971842e0945558dbe69502976d3a87d95735382dfb1889630885cd2ba7ed5cc

See more details on using hashes here.

Provenance

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