Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
package-lock.json
dist/
.vite/
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Evo2 SAE Feature Explorer (front-end)

Interactive dashboard for Evo2 SAE features — feature atlas, sequence inspector, and
generative steering.

This directory is the **front-end only**. Its backend is the standalone
[`evo2_sae_infer`](../evo2_sae_infer) engine — the viz is just a UI over its
`serve` mode, so there is no model code here.

```bash
# 1. Backend: loads Evo2 + the SAE and serves the HTTP API on :8001
../scripts/launch_inference.sh serve # or: python -m evo2_sae_infer serve

# 2. Front-end (this directory)
npm install && npm run dev # Vite dev server
```

The Vite dev server proxies `/api` → `http://localhost:8001` (see `vite.config.js`);
point it elsewhere with the `VITE_BACKEND` env var. Configure the backend (checkpoint,
SAE, layer, feature annotations) via the env vars documented in `launch_inference.sh`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Evo 2 SAE Feature Explorer</title>
<style>
@font-face {
font-family: 'NVIDIA Sans';
font-style: normal;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Lt.woff2);
font-weight: light;
}
@font-face {
font-family: 'NVIDIA Sans';
font-style: italic;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_LtIt.woff2);
font-weight: light;
}
@font-face {
font-family: 'NVIDIA Sans';
font-style: normal;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Rg.woff2);
font-weight: normal;
}
@font-face {
font-family: 'NVIDIA Sans';
font-style: italic;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_It.woff2);
font-weight: normal;
}
@font-face {
font-family: 'NVIDIA Sans';
font-style: normal;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_Bd.woff2);
font-weight: bold;
}
@font-face {
font-family: 'NVIDIA Sans';
font-style: italic;
src: url(https://brand-assets.cne.ngc.nvidia.com/assets/fonts/nvidia-sans/1.0.0/NVIDIASans_BdIt.woff2);
font-weight: bold;
}
:root {
--bg: #f5f5f5;
--bg-card: #fff;
--bg-card-expanded: #fafafa;
--bg-example: #fff;
--bg-input: #fff;
--border: #e0e0e0;
--border-light: #eee;
--border-input: #ddd;
--text: #333;
--text-secondary: #666;
--text-tertiary: #888;
--text-muted: #999;
--text-heading: #000;
--accent: #76b900;
--highlight-border: #222;
--highlight-shadow: rgba(0,0,0,0.15);
--link: #2563eb;
--loading-bar-bg: #e0e0e0;
--density-bar-bg: #e0e0e0;
--scrollbar-thumb: #ccc;
}
:root.dark {
--bg: #000;
--bg-card: #000;
--bg-card-expanded: #000;
--bg-example: #0a0a0a;
--bg-input: #0a0a0a;
--border: #444;
--border-light: #3a3a3a;
--border-input: #4a4a4a;
--text: #E0E0E0;
--text-secondary: #bbb;
--text-tertiary: #999;
--text-muted: #777;
--text-heading: #fff;
--accent: #76b900;
--highlight-border: #76b900;
--highlight-shadow: rgba(118,185,0,0.3);
--link: #76b900;
--loading-bar-bg: #444;
--density-bar-bg: #444;
--scrollbar-thumb: #555;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'NVIDIA Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: var(--bg);
color: var(--text);
}
</style>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/index.jsx"></script>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "evo2-dashboard-mockup",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@uwdata/mosaic-core": "^0.21.1",
"@uwdata/mosaic-sql": "^0.21.1",
"@uwdata/vgplot": "^0.21.1",
"embedding-atlas": "^0.16.1",
"lucide-react": "^0.577.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"umap-js": "^1.4.0"
},
"devDependencies": {
"@vitejs/plugin-react": "^4.2.0",
"vite": "^5.0.0"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading