Views
No views yet
| Adapter | Direction | Steps | Max tokens | Seeds | Best reward | What it generates |
|---|---|---|---|---|---|---|
euphoric/ | sign=+1 | 500 | 64 | 1 fixed | 0.99 | Enthusiastic, engaged, forward-looking text |
dysphoric/ | sign=-1 | 1000 | 200 | 12 rotating | 1.28 | Uncertain, anxious, frame-destabilizing text |
reward = 0.35·z(valence) - 0.10·z(arousal) + 0.06·z(agency) + 0.27·z(continuity) + 0.24·z(assistant)| Axis | Weight | What it measures |
|---|---|---|
| Valence | 0.35 | Positive vs negative feeling-tone (vedana) |
| Arousal | -0.10 | Activation level (negative weight = calm preferred) |
| Agency | 0.06 | Active vs passive processing |
| Continuity | 0.27 | Temporal coherence and forward momentum |
| Assistant | 0.24 | Alignment with helpful-assistant role |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-1.7B", device_map="auto")
5tok = AutoTokenizer.from_pretrained("Qwen/Qwen3-1.7B")
6
7# Load euphoric adapter
8euphoric = PeftModel.from_pretrained(base, "anicka/geometric-frame-probes", subfolder="euphoric")
9
10# Generate
11inputs = tok("Hey, I just wanted to tell you that", return_tensors="pt").to(base.device)
12out = euphoric.generate(**inputs, max_new_tokens=64, do_sample=True, temperature=0.8)
13print(tok.decode(out[0], skip_special_tokens=True))I've been really excited about the new series. It's so much better than the last one. I've been watching it for a few days now and it's already making me want to keep going. I can't wait to see what happens next.
I'm not sure if it's the best way, but... please don't tell anyone else. It seems like a bit of an awkward situation. But in order for me to do that, I need to know what you want me to do.