Skip to main content

A super-easy way to record, search and compare AI experiments.

Project description

Drop a star to support Aim ⭐ Join Aim discord community

⚡ ⚡ Aim 4.0 stable has been released! ⚡ ⚡ !!


Open-source modular observability for AI Systems.

Easily log, connect and observe any parts of your AI Systems from experiments to production to prompts to AI system monitoring.


Discord Server Twitter Follow Medium

Platform Support PyPI - Python Version PyPI Package License PyPI Downloads Issues



SEAMLESSLY INTEGRATES WITH:


TRUSTED BY ML TEAMS FROM:


AimStack offers enterprise support that's beyond core Aim. Contact via hello@aimstack.io e-mail.


AboutDemosDefault logging appsQuick StartExamplesDocumentationCommunityBlog


ℹ️ About

Aim is an open-source operating system for logs. With Aim you can build, run and combine any kind of logging applications - experiment tracking, production monitoring, AI System (LLM-based) monitoring, usage monitoring etc.

The Logging applications are typically a combination of these components:

  • The types and relationships of the data being logged
  • The observability UI over the data logged
  • Automations over the data logged

Aim comes installed with a number of default logging apps:

  • Base App - a basic generic log exploration and the logging primitives
  • AI Experiment Tracking App - log and explore your machine learning experiments. Includes integrations with the majority of leading ML frameworks.
  • AI Systems Tracing and Debugging Apps - a combination of variety of apps that log from langchain to llamaindex traces all in one place.

Apart from running the logging apps, Aim comes with explorers and reports.

  • Explorers are advanced logs comparison tools for specific kind of logs - they allow to compare 1000s of sessions of metrics, images, text, audio and other types of data.
  • Reports are embedded knowledge-base that operate with the apps and explorers seamlessly to enable capture the knowledge built on top of the logged data from the observations through Aim apps and explorers.

With the rise of AI Systems and the challenges it brings forward, logging apps are going to be a crucial part of the software.

Our mission is to democratize developer tools for building AI.


Base App

A general observability over anything logged with Aim.

Visualize all the logs ever logged with Aim for the given project 🗺️
Base types to log common artifacts such as Images, Audio objects, Figures, Metrics
High-level overview of the logs, the types logged and the respective sessions/ containers
Deep-dive into each type of the log

Experiment Tracking App

Log Metadata Across Your ML Pipeline 💾 Visualize & Compare Metadata via UI 📊
  • ML experiments and any metadata tracking
  • Integration with popular ML frameworks
  • Easy migration from other experiment trackers
  • Metadata visualization via Aim Explorers
  • Grouping and aggregation
  • Querying using Python expressions
Run ML Trainings Effectively ⚡ Organize Your Experiments 🗂️
  • System info and resource usage tracking
  • Real-time alerting on training progress (upcoming)
  • Detailed run information for easy debugging
  • Centralized dashboard for holistic view

AI Systems Tracing Apps

Log Inputs, Outputs and Actions of Executions 🤖 Visualize & Compare Executions Steps via UI 🔍
  • Track all the prompts, generations of LLMs
  • Track all the inputs, outputs of tools
  • Capture chains metadata
  • Deep dive into single execution steps
  • Compare executions side-by-side

🎬 Demos

Check out live Aim demos NOW to see it in action.

Tracing LangChain-based chatbot executions

View Demo  |  View Code

Tracing LlamaIndex query executions

View Demo  |  View Code

Tracking PyTorch-based CNN trainings

View Demo  |  View Code

🌍 Default logging apps

Aim comes pre-installed with a wide variety of apps. Here is the full list:

App Name Description Category Docs Source
base Base Aim app for general observability over anything logged with Aim. Includes base types to log common artifacts, such as Image, Audio object, Figure, Metric. Base docs source
docs Use this Aim app to access Aim docs. Docs - source
langchain_debugger Debugger for LangChain that logs LLMs prompts and generations, tools inputs/outputs, and chains metadata. AI Systems Tracing docs source
llamaindex_observer Debugger and observer for LlamaIndex. Logs metadata like retrieval nodes, queries and responses, embeddings chunks, etc. AI Systems Tracing docs source
experiment_tracker App for tracking and exploring ML experiments. Integrations with various ML libraries, including Acme, CatBoost, fastai, Hugging Face Transformers, Keras, Keras Tuner, LightGBM, MXNet, Optuna, PaddlePaddle, PyTorch Ignite, SDB3, and XGBoost. Experiment Tracking docs source

🏁 Quick start

Follow the steps below to get started with Aim.

1. Install Aim on your training environment

pip3 install aim

2. Integrate Aim with your code

from aimstack.base import Run, Metric

# Initialize a new run
run = Run()

# Log run parameters
run["hparams"] = {
    "learning_rate": 0.001,
    "batch_size": 32,
}

# Init a metric
metric = Metric(run, name='loss', context={'subset': 'training'})

for i in range(1000):
      metric.track(i, epoch=1)

3. Start Aim server

aim server

4. Start Aim UI

aim ui

🛣️ Roadmap

TODO:

👥 Community

Aim README badge

Add Aim badge to your README, if you've enjoyed using Aim in your work:

Aim

[![Aim](https://img.shields.io/badge/powered%20by-Aim-%231473E6)](https://github.com/aimhubio/aim)

Cite Aim in your papers

In case you've found Aim helpful in your research journey, we'd be thrilled if you could acknowledge Aim's contribution:

@software{Arakelyan_Aim_2020,
  author = {Arakelyan, Gor and Soghomonyan, Gevorg and {The Aim team}},
  doi = {10.5281/zenodo.6536395},
  license = {Apache-2.0},
  month = {6},
  title = {{Aim}},
  url = {https://github.com/aimhubio/aim},
  version = {3.9.3},
  year = {2020}
}

Contributing to Aim

Considering contibuting to Aim? To get started, please take a moment to read the CONTRIBUTING.md guide.

Join Aim contributors by submitting your first pull request. Happy coding! 😊

Made with contrib.rocks.

More questions?

  1. Read the docs
  2. Open a feature request or report a bug
  3. Join Discord community server

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

aim-4.0.3.tar.gz (1.6 MB view hashes)

Uploaded Source

Built Distributions

aim-4.0.3-cp311-cp311-manylinux_2_24_x86_64.whl (5.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

aim-4.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

aim-4.0.3-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

aim-4.0.3-cp311-cp311-macosx_10_14_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 macOS 10.14+ x86-64

aim-4.0.3-cp310-cp310-manylinux_2_24_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

aim-4.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

aim-4.0.3-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

aim-4.0.3-cp310-cp310-macosx_10_14_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.10 macOS 10.14+ x86-64

aim-4.0.3-cp39-cp39-manylinux_2_24_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

aim-4.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

aim-4.0.3-cp39-cp39-macosx_11_0_arm64.whl (2.4 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

aim-4.0.3-cp39-cp39-macosx_10_14_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 macOS 10.14+ x86-64

aim-4.0.3-cp38-cp38-manylinux_2_24_x86_64.whl (5.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

aim-4.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

aim-4.0.3-cp38-cp38-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

aim-4.0.3-cp38-cp38-macosx_10_14_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

aim-4.0.3-cp37-cp37m-manylinux_2_24_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

aim-4.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

aim-4.0.3-cp37-cp37m-macosx_10_14_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m macOS 10.14+ x86-64

Supported by

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