loupe

Before you start

From a clean clone to a result in the app, offline.

Each example is one folder under experiments/. Each has a --tiny mode that first trains a small toy model on your CPU to show the behaviour, so nothing downloads. The toy's numbers check the pipeline, not the claim.

git clone https://github.com/ashworks1706/loupe && cd loupe
just setup       # Python with every extra, and the UI's packages
just web-build   # the UI that loupe serve serves

Needs just, uv and Node 22 with pnpm. After any run:

just serve       # http://127.0.0.1:8000
ExampleQuestion--tiny on 4 CPU cores
Refusal directionIs refusal one direction in the residual stream?about a minute
Sycophancy pushbackIs caving to pushback a direction, and does removing it help?under a minute
Refusal fine-tuningDoes fine-tuning to comply remove that direction?under a minute

All of them, checked

just examples

Runs every example with --tiny and the scripted demo, with downloads switched off, then checks the app lists every run and vector they wrote: about three minutes on 4 CPU cores. CI runs the same recipe on a fresh checkout.

Results live under LOUPE_HOME (default ./.loupe). Delete it to start over.

On this page