Skip to content

Releases: adrida/tracer

v0.2.0: tracer scan, held-out parity certification, and an OOD safety gate

14 Jun 17:29

Choose a tag to compare

TRACER 0.2.0 turns "could we route this cheaper?" into a one-command answer, and tightens how the router certifies coverage.

Highlights

tracer scan — the day-one read

Point it at your existing LLM traces and get a fast, conservative verdict before training anything: how much of your traffic a near-free model can already answer at your target agreement, measured on a held-out slice it never saw (exact Clopper-Pearson bounds, not in-sample), with an estimated saving. Ships a self-contained HTML report with an interactive 3D map of your embedding space (hover-to-inspect cells, a Verdict/Label colour toggle, PCA/UMAP/t-SNE layouts).

pip install tracer-llm
tracer scan your_traces.jsonl --html scan.html

Embeddings are local by default (sentence-transformers), or bring your own: a precomputed .npy (--embeddings) or your own HTTP endpoint (--embed-url).

Held-out parity certification

The parity gate now certifies coverage on an exact held-out lower bound instead of an in-sample point estimate, so reported coverage holds up on real traffic at your target. Coverage is monotonic in the target you set, and a hybrid select-then-verify step recovers coverage at strict targets.

OOD safety gate

At inference the router now defers inputs that fall far from the training distribution (kNN distance) to the teacher, instead of returning a confident answer on off-distribution or adversarial input.

Lean by default

tracer fit now runs a fast linear + MLP zoo by default; add --trees for the heavier tree models on hard, high-class-count tasks, and --skip to drop named candidates.

Install / upgrade

pip install -U tracer-llm

Full notes in CHANGELOG.md.

v0.1.3

08 Jun 18:16
839eab4

Choose a tag to compare

Hardening release plus the first outside community contributions. Rolls up everything since 0.1.1 (the 0.1.2 bump never tagged, so it never reached PyPI).

Changes

  • predict_batch() now validates embedding dimension against the manifest and raises a clear ValueError, matching predict(). (#3, thanks @ggSohamgg)
  • FitConfig and EmbeddingConfig validate parameters at construction and fail fast with specific messages on out-of-range values. (#4, thanks @anwesh2410)
  • update() fails fast with an actionable FileNotFoundError when .tracer/all_traces.jsonl is missing, replacing a dead branch that produced a cryptic trace/embedding mismatch. (#5, thanks @anwesh2410)
  • fit() gained a skip_candidates knob and per-candidate progress logging.

Install

pip install --upgrade tracer-llm

Thanks to @ggSohamgg and @anwesh2410 for the first outside contributions.