Skip to content

evo2 SAE feature-explorer dashboard#1

Closed
polinabinder1 wants to merge 5 commits into
pbinder/evo2-sae-inferfrom
pbinder/evo2-sae-viz
Closed

evo2 SAE feature-explorer dashboard#1
polinabinder1 wants to merge 5 commits into
pbinder/evo2-sae-inferfrom
pbinder/evo2-sae-viz

Conversation

@polinabinder1

Copy link
Copy Markdown
Owner

Summary

React/Vite feature-explorer dashboard for Evo2 SAE features — three tabs: feature
atlas, sequence inspector, and generative steering. Front-end only; its
backend is the standalone evo2_sae_infer serve engine (Vite proxies /api:8001).

Stacked on the inference PR — base is pbinder/evo2-sae-infer. Retarget to main
once that merges.

Refactors included here

  • Deleted the 686-line duplicate steering_server.py — the dashboard now uses the
    shared evo2_sae_infer engine instead of re-implementing model/SAE loading + endpoints.
  • Lifted the static styles object out of App.jsx into src/styles.js.
  • Removed dead viewport-animation code (zoomToPoint/resetViewport + their easing
    helpers, all unreferenced): App.jsx 1,634 → 1,352.
  • Added a README documenting the front-end / backend split.

Net: 4,905 → 4,123 lines.

Note

The React build was not verified in the authoring environment — please run
npm run build + a visual check (and an evo2_sae_infer serve smoke) before marking ready.

🤖 Generated with Claude Code

root and others added 5 commits June 5, 2026 05:39
…ctor)

WIP safety checkpoint. Live Evo2-1B + C13 SAE backend (steering_server.py:
/health, /features, /annotate, /generate) + a 3-tab React app (Feature
atlas, Generative steering, Sequence inspector). Multi-feature additive
clamp-after-prompt steering; by-name feature picker; editable phylo tag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ering = plain black DNA (no colormap); no-clamp generation + opt-in baseline; editable phylo tag; by-name multi-feature picker

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…er serve

The dashboard carried its own 686-line steering_server.py that re-implemented
Evo2 + SAE loading, the forward pass, and the /health,/features,/annotate,/generate
endpoints — all of which now live in the standalone evo2_sae_infer engine. Delete
it; the front-end already reaches :8001 via the Vite /api proxy, so it now consumes
`evo2_sae_infer serve` (whose endpoint set + response fields are a superset). Add a
README documenting the front-end / backend split.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the 164-line static `styles` object into src/styles.js. App.jsx drops
1634 -> 1470 lines and styling is isolated. Pure move — module-level static
object used as styles.*, no behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
zoomToPoint + resetViewport (two fly-to / zoom-out useCallback animations) and the
easeOutQuart/easeInOutCubic/easeInOutQuad helpers they used were declared but never
referenced anywhere (each occurs only at its own declaration). Removing them drops
App.jsx 1470 -> 1352. No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@polinabinder1 polinabinder1 force-pushed the pbinder/evo2-sae-viz branch from c15ec9b to cf14dee Compare June 5, 2026 05:39
@polinabinder1

Copy link
Copy Markdown
Owner Author

Reopened against upstream main (independent, clean diff): NVIDIA-BioNeMo#1604

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant