usnistgov/dioptra
Test Software for the Characterization of AI Technologies
Dioptra – A Test Platform for Trustworthy AI
What it is – Dioptra is an open‑source software platform (maintained by NIST) that lets you measure, analyze, and track the trustworthy characteristics of AI models. It implements the Measure function of the NIST AI Risk Management Framework, helping you evaluate safety, security, fairness, explainability, privacy, and other risk dimensions.
How it works – Dioptra runs as a set of Docker containers exposing a REST API. You can interact with it through:
- an intuitive web UI,
- a Python client library, or
- any generic REST client. Experiments are defined in simple YAML files that compose modular components (e.g., data loaders, model runners, metric calculators). A plugin system lets you import existing Python packages, and a built‑in type system ensures interoperability between plugins.
Key properties
- Reproducible – automatic snapshots of code, data, and configuration.
- Traceable – full history of experiment inputs and results is stored.
- Extensible – add new functionality via plugins.
- Modular – build experiments from reusable YAML‑described blocks.
- Secure & Multi‑tenant – user authentication (access controls forthcoming) and support for shared deployments.
- Interactive – web UI for managing and visualising runs.
Typical use cases
| Role | Scenario |
|---|---|
| Model developer (1st‑party) | Continuous testing of models during development to catch reliability or bias issues early. |
| Acquirer / evaluator (2nd‑party) | Independent assessment of a vendor’s model before purchase or integration. |
| Auditor (3rd‑party) | Formal compliance or regulatory audits of AI systems. |
| Researcher | Tracking experiments for trustworthy‑AI studies, sharing results with collaborators. |
| Red‑team | Running adversarial or stress‑test suites against a model in a controlled sandbox. |
Getting started
- Pull the Docker images – core services (nginx, mlflow‑tracking, REST API) and worker images for PyTorch or TensorFlow (CPU/GPU).
- Create a deployment using the provided cookiecutter template (
cruft create …). - Initialize the deployment (
./init-deployment.sh). - Launch with
docker compose up -dand openhttp://localhost. - Follow the “Hello World” tutorial on the Dioptra docs site for a quick end‑to‑end run.
Documentation & community – Full user guides, installation steps, and tutorials are hosted at https://pages.nist.gov/dioptra/. Development guidelines are in DEVELOPER.md.
License – Creative Commons Attribution 4.0 International (CC‑BY‑4.0), a permissive open‑source license.
Citation – If you use Dioptra in a publication, cite the NIST DOI provided in the README.
Dioptra is a genuine, actively maintained project aimed at providing a reproducible, extensible framework for evaluating the trustworthiness of AI systems.
Related
- Project
- Dispatch
- Project
- Project
- Dispatch