Control vectors steer model behavior without retraining by adjusting
activations in specific directions.
These creative writing vectors help
you tune narrative tone, character focus, and stylistic elements.
Available Vectors
optimism_vs_nihilism
empathy_vs_sociopathy
honesty_vs_machiavellianism
humility_vs_narcissism
character focus (dialogue_vs_narration)
language (simple vs ornate)
storytelling (descriptive vs explicit)
compassion_vs_sadism
NOTES
compassion_vs_sadism -> I'll have to re-do this one after working around refusals.
language -> The ornate direction may cause infinite reasoning.
Usage
Apply the debias vector and either the positiveornegative vector when starting llama-server.
If both axes are applied at the same time, they will cancel each other out.
The debias vector must be set to 1.0
You can use either --control-vector [/path/to/vector.gguf] or --control-vector-scaled [/path/to/vector.gguf] [scale factor]
When using ik_llama.cpp, you can also use the REST-API (examples below)
IMPORTANT: As these vectors are calibrated against the debiased model, the debias vector must be applied along with the corresponding positive or negative axis control vector - they cannot be used on their own!
Now a scene where a friend walks in and asks Maya about it.
👈 **Baseline (no control vectors)**
👈 **Dialogue +1.0**
👈 **Narration +1.0**
Acknowledgements
Based on the excellent work and cross-covariance eigendecomposition implementation by @jukofyork. His creative writing control vectors v3.0 repository contains the foundational code and methodology that made this possible, plus 70+ other creative writing control vectors across many models and useful steering directions.
Highly recommended for anyone working on improving LLM prose quality!