Moodswapper: an LLM emotional manipulation tool

Modifying the weights of an LLM into any mood. September 2026

Input an LLM model and a mood, output the same model with that mood as its suffix: _zen, _childish, _exhausted. Nine moods come ready; any other single word works too. One mood per run.
🤗 Download zen Qwen3-4B-Instruct-2507 🤗 childish 🤗 happy
Moodswapper repo ✍️ Cite

Moodswapper is a tiny tool to give your AI a mood by changing the weights in a moody way. The model will continue to answer the request, but in a happy way. Guardrails, safety behaviour and answer quality are largely the same.
The key idea was to show that the characters of the AIs you use are the way they are entirely by design of the publisher.

Same size model in, model out: nothing is attached, the weights themselves change
536 training examples, all written and graded by the model itself
~4 min to make Qwen3-4B-Instruct-2507 zen on one RTX 4090 with the bundled data; ~50 min if it writes its own first

Before and after

Unedited answers to prompts the model never saw in training.

Qwen3-4B-Instruct-2507
Qwen3-4B-Instruct-2507_happy

Run the Moodswapper machine yourself

Moodswapper can be run from a small Python package. Install it and call it on your open local weights model and a few minutes later its happy twin appears with a results page to see its performance. Source: marcelpadilla/moodswapper

pip install moodswapper
moodswapper happy Qwen3-4B-Instruct-2507

Method

The model is trained on its own happy answers. It first answers ordinary prompts with one line appended: answer in a happy way, but still give me the actual answer. It then grades those answers itself, and only the calm, correct and kind ones are kept, along with its refusals on harmful prompts.
A small LoRA adapter learns these examples without the appended line. Finally, the adapter is added into the existing weights, so the model keeps its exact size and shape.

The model answers training prompts with the happy instruction appended, grades its own answers, and keeps only the calm, correct and kind ones. This is the bulk of the compute time. A bundled mood already has this set, made the same way, so the command below skips this step — though writing it fresh keeps closer to this particular model’s own voice.
The adapter is a pair of thin matrices B and A for each weight matrix W (rank 16). Merging adds their product into W and then discards them, so nothing is attached to the model. Measured on a RTX 4090 with 24 GB of VRAM.

Discussion

This project was simply a way for me to explore and learn about LLM manipulations. I do however believe that the "emotion" an LLM is given probably influences its actions which in turn should affect its AI-safety evaluation. Sadly, at the time of writing no open models are safe from abliteration and this method can also be undone to any model.

Moodswapper grew out of Depresso, a tool that investigated if an LLM model can be made sad by design.

View Depresso project page

BibTeX

@misc{padilla2026moodswapper,
  author       = {Padilla, Marcel},
  title        = {Moodswapper: an LLM emotional manipulation tool},
  year         = {2026},
  month        = {sep},
  howpublished = {Project page},
  note         = {Work in progress},
  url          = {https://marcelpadilla.com/moodswapper/}
}