neuroscope-api / README.md
lymnal's picture
feat: initial HF Spaces deploy of NeuroScope backend
80f1cb1 verified
|
Raw
History Blame Contribute Delete
1.61 kB
---
title: NeuroScope API
emoji: 🧠
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
---
# NeuroScope API
FastAPI + TransformerLens backend for the NeuroScope interpretability toolkit.
Exposes activation-extraction endpoints (logit lens, attention patterns, gradient-based token importance, steering vectors, PCA trajectories) for the NeuroScope frontend.
## Endpoints
| Endpoint | Purpose |
|---|---|
| `POST /load` | Load a HuggingFace model (default: `gpt2-small`) |
| `POST /logit-lens` | Layer-by-layer next-token predictions |
| `POST /attention` | Attention pattern for a given (layer, head) |
| `POST /gradients` | Token-level gradient magnitudes w.r.t. a target token |
| `POST /steering-vector` | Difference-of-means vector from contrastive prompts |
| `POST /generate-steered` | Generation with a steering vector injected at a layer |
| `POST /ablate-direction` | Generation with a direction projected out of the residual stream (`h' = h − (h·d̂)d̂`) |
| `POST /pca-trajectories` | 3D PCA of residual stream across layers + tokens |
| `GET /contrastive-pairs` | Built-in sentiment contrastive prompt pairs |
Interactive docs at `/docs` once the Space is live.
## Configuration
Set the following Space Variable/Secret in **Settings → Variables and secrets**:
- `ALLOWED_ORIGINS` — comma-separated CORS origins (e.g. `https://neuroscope.vercel.app,http://localhost:3001`)
## Local development
```bash
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
```
Frontend repo: [clearbox_ai on GitHub](https://github.com/ethan-sam/clearbox_ai).