Introduction¶
ado is a Python platform for designing experiment campaigns and executing them at scale. It enables distributed teams of researchers and engineers to collaborate, execute experiments, and share data.
You can extend ado across different domains through its plugin model — often as simple as decorating a Python function. By integrating your methodology, you gain cross-cutting capabilities — such as parallel execution, data provenance, and a unified CLI — alongside a structured foundation that allows AI coding agents to autonomously formulate and run your experiments.
- 🧑💻 Using
adoassumes familiarity with command line tools. - 🛠️ Developing
adorequires knowledge of Python.
Key Features¶
CLI: Our human-centric CLI follows best practices
Projects: Allow distributed groups of users to collaborate and share data
- 🔌 Extendable: Easily add new experiments or optimizers and other tools
Scalable: We use Ray as our execution engine, allowing experiments and tools to scale easily
Automatic data-reuse: Avoid repeating work with transparent reuse of experiment results;
ado's internal protocols ensure this happens only when it makes senseProvenance: Relationships between data and operations are automatically tracked. The versions of
ado-coreand every plugin used to create a resource are also recorded, keeping results reproducible and debuggableOptimization and sampling: Out-of-the-box, leverage powerful optimization methods via Ray Tune or use our flexible built-in sampler
- Coding agents: Supercharge your workflow.
ado's typed resources and bundled skills enable AI assistants to autonomously formulate, validate, and run experiments. Learn more
Foundation Model Experimentation¶
We have developed ado plugins providing advanced capabilities for performance testing of foundation models:
Fine-tuning performance benchmarking
Inference performance benchmarking (using vLLM bench or guidellm)
Predictive performance model creation
Requirements¶
A basic installation of ado only requires a recent Python version (3.10 to 3.14). This will allow you to run many of our examples and explore ado features.
Additional Requirements¶
Some advanced features have additional requirements:
- Distributed Projects (Optional): To support projects with multiple users you will need a remote, accessible MySQL database. See here for more details
- Multi-Node Execution (Optional): To support multi-node or scaled execution you may need a multi-node RayCluster. See here for more details
In addition, ado plugins may have additional requirements for executing realistic experiments. For example:
- Fine-Tuning Benchmarking: Requires a RayCluster with GPUs
- vLLM Performance Benchmarking: Requires an OpenShift cluster with GPUs
Try it out¶
-
Set up in 1 minute
You can install ado by:
pip install ado-coreNow try:
ado get contextsYou will see a context,
local, is listed.A context is like a project. The
localcontext links to a local database you can use as a sandbox for testing.Try:
ado get operatorsto see a list of the in-built operators.
Next, we recommend you try our short tutorial which will give an idea of how
adoworks.
Example¶
This video shows listing actuators and getting the details of an experiment. Check demo for more videos.
Acknowledgement¶
This project is partially funded by the European Union through the Smart Networks and Services Joint Undertaking (SNS JU) under grant agreement No. 101192750 (Project 6G-DALI).
What's next¶
-
Let's get started!
Jump into our tutorial
-
Check out the ADO cli
Get familiar with the capabilities of the
adocommand-line interface.