Track and Compare Model Versions with oci-bai
This guide walks through a complete evaluation workflow using oci-bai: push a baseline and a candidate, compare them at the package and benchmark depths, and read the verdict back.
What you need
- A running local stack (
make up,make seed) - The
oci-baiCLI on yourPATH - Two image tags to compare (the guide uses the seeded
rl-gym-envfamily)
Workflow
-
Push the baseline
Terminal window docker tag my-base:latest localhost:8080/rl-gym-env:cuda-basedocker push localhost:8080/rl-gym-env:cuda-baseoci-bai --repo rl-gym-env log cuda-base -
Push the candidate
Terminal window docker tag my-candidate:latest localhost:8080/rl-gym-env:cartpoledocker push localhost:8080/rl-gym-env:cartpoleoci-bai --repo rl-gym-env provenance cartpole -
Compare at package depth
Terminal window oci-bai --repo rl-gym-env diff cuda-base cartpole --depth packageOutput shows added, removed, and changed packages between the two versions.
-
Attach a benchmark verdict
Terminal window oci-bai --repo rl-gym-env attach-bench cartpole -
Compare at bench depth
Terminal window oci-bai --repo rl-gym-env diff cuda-base cartpole --depth benchOutput shows verdict deltas between the baseline and candidate.
-
Check impact
Terminal window oci-bai --repo rl-gym-env whodepends cuda-baseShows every version that descends from the baseline — useful before promoting a base update.
Key commands at a glance
| Step | Command |
|---|---|
| Push | docker push localhost:8080/<repo>:<ref> |
| History | oci-bai --repo <r> log <ref> |
| Provenance | oci-bai --repo <r> provenance <ref> |
| Compare packages | oci-bai --repo <r> diff <v1> <v2> --depth package |
| Compare verdicts | oci-bai --repo <r> diff <v1> <v2> --depth bench |
| Find dependents | oci-bai --repo <r> whodepends <ref> |
| Search | oci-bai search "format==safetensors cuda>=12.4" |