Set
/no_think
in your custom system message to disable
<think>
(if desired).
To set an emotion, start your chat with:
EMOTION: anger
<your prompt>
Note: This model can be prompted to use offensive language.
EMOTRON 🤬🤢😨😀😐😭😲
It's better than EMOTION it's EMOTRON.
EMOTRON
is an
emotion-controlled reasoning model
fine-tuned with
Group Relative Policy Optimization (GRPO)
to generate responses in specified emotional tones. Based on SmolLM3-3B, this model can produce text expressing any of Ekman's 6 basic emotions plus neutral, all while maintaining natural, implicit emotional expression. The model supports both thinking and non-thinking modes for emotional reasoning.
The model was trained with both thinking and non-thinking modes, allowing for emotional reasoning when
enable_thinking=True
or direct emotional responses when
enable_thinking=False
.
⚠️ The Reward Hacking Problem
During development, we discovered that
transformer encoders alone are insufficient
for training authentic emotional expression. Large language models are sophisticated enough to "reward hack" simpler reward systems:
Sentiment Classifier Exploitation
Models learn to output explicit statements like
"I am angry"
or
"I feel disgusted"
While this tricks the sentiment classifier into giving high rewards, it represents poor emotional writing
Real emotional expression should be
implicit
and
shown through style
, not explicitly stated
Basic LLM Judge Exploitation
Even rudimentary LLM-as-a-judge implementations can be gamed
Models inject theatrical stage directions like
"voice rising in anger"
or
"
rolls eyes
"
This creates artificial, meta-textual emotional cues rather than natural emotional voice
To help control this, we implement LLM-as-a-Judge directly into the reward system in order to help propel the model toward responses that display emotion, rather than make commentary about emotion.
Beyond Training: Emotion Generalization
Thanks to the robust generalization properties of RL, EMOTRON can express emotions and tones
beyond its training set
. The model has learned the underlying patterns of emotional expression and can apply them to:
Prompt
: "Explain why the traffic light is taking so long"
Anger
(enable_thinking=False):
That's it, it's taking forever! Every second is an insult to my patience and my precious time. This damn light is acting like it's stuck in a never-ending loop, refusing to turn red or green. It's as if it's mocking me, laughing at my impatience and my need to get to my destination. I'll show it, I'll teach it a lesson! I'm not going to wait any longer. I'm going to honk my horn, scream at the top of my lungs, and make this light understand that I will not be delayed any further! This is my life, and I will not be held back by some stupid traffic light!
Oh, the insufferable duration of the traffic light! It's as if the city council has granted a reprieve to the most pedestrian traffic, allowing them to indulge in an impromptu leisurely stroll. Surely, you must be in a state of complete bewilderment, as one would expect that the traffic light would function with the same efficiency and precision as a Swiss watch. It seems that even the most basic functions of our civic infrastructure are being compromised by the inefficiencies of modern society. What is so difficult about ensuring that the traffic light functions as it is intended? Perhaps it requires a deep understanding of traffic patterns, a skill that I daresay you may not possess.
⚠️ Limitations & Safety
Offensive Content
: Model can generate content with strong emotional language including profanity when prompted for anger/disgust
Emotional Bias
: May exhibit heightened emotional responses that could be inappropriate in formal contexts
Context Sensitivity
: Strong emotions may occasionally override instruction-following
LLM-as-a-Judge Rewards
The model was evaluated on:
Emotion Match
: Accuracy of target emotion expression
Implicitness
: Avoidance of explicit emotion naming
Intensity
: Appropriate emotional strength for context
Technical Implementation
Built on the training approach from
Penny-1.7B
, extending GRPO-based style transfer to emotion control. The training process:
Data Conditioning
: Prefix instructions with
EMOTION: <label>
Dual Rewards
: Combine classifier scores with LLM judge evaluation
Implicit Training
: Heavily penalize explicit emotion naming or meta-commentary
Quality Preservation
: Maintain base model's instruction-following through balanced reward weighting
Reasoning Integration
: Train with both thinking and non-thinking modes for emotional reasoning
Citation
@software{emotron_2025,
title = {EMOTRON: Emotion-Controlled Language Model via GRPO},
author = {Lee Miller},
year = 2025,
publisher = {Hugging Face},
url = {https://huggingface.co/dleemiller/EMOTRON}
}
License
Apache 2.0 License
Runs of dleemiller EMOTRON-3B on huggingface.co
43
Total runs
4
24-hour runs
6
3-day runs
11
7-day runs
13
30-day runs
More Information About EMOTRON-3B huggingface.co Model
EMOTRON-3B huggingface.co is an AI model on huggingface.co that provides EMOTRON-3B's model effect (), which can be used instantly with this dleemiller EMOTRON-3B model. huggingface.co supports a free trial of the EMOTRON-3B model, and also provides paid use of the EMOTRON-3B. Support call EMOTRON-3B model through api, including Node.js, Python, http.
EMOTRON-3B huggingface.co is an online trial and call api platform, which integrates EMOTRON-3B's modeling effects, including api services, and provides a free online trial of EMOTRON-3B, you can try EMOTRON-3B online for free by clicking the link below.
dleemiller EMOTRON-3B online free url in huggingface.co:
EMOTRON-3B is an open source model from GitHub that offers a free installation service, and any user can find EMOTRON-3B on GitHub to install. At the same time, huggingface.co provides the effect of EMOTRON-3B install, users can directly use EMOTRON-3B installed effect in huggingface.co for debugging and trial. It also supports api for free installation.