# Biplov Gautam: emotion-rlcd-objective

> Emotion · rlcd objective. Which emotion does the writer express? Fine-tuned from aac6fef/laya-mlx.

- Page: https://systemonemodels.ai/biplov/emotion-rlcd-objective
- API: https://api.systemonemodels.ai/v1/models/biplov/emotion-rlcd-objective
- Download: `pip install systemonemodels && systemone pull biplov/emotion-rlcd-objective`

## Facts

| | |
|---|---|
| Maker | Biplov Gautam (https://systemonemodels.ai/biplov) |
| Decides | choice |
| Architecture | laya |
| Base model | aac6fef/laya-mlx |
| Licence | apache-2.0 |
| Availability | Open weights |
| Latest version | 0.1.0 |

## Reported evaluation

Suite: Emotion (6 labels). Numbers are the publisher's own.

- Decision accuracy: 79.2%
- Calibration error (ECE): 0.035
- Median latency: 71.7 ms
- p95 latency: 114 ms

## Model card

# Emotion · rlcd objective

A [Laya](https://github.com/NandhaKishorM/laya) decision model. It answers the questions below in one forward pass, with calibrated probabilities and no generated text. Fine-tuned from `aac6fef/laya-mlx`.

## Evaluation

Measured on the held-out test split of *Emotion (6 labels)*.

| Metric | Base model | This model |
|---|---|---|
| Decision accuracy | 47.5% | **79.2%** [75.7%–82.2%] |
| Calibration error (ECE) | 0.342 | 0.035 |
| Log loss | 2.003 | 0.614 |
| Brier score | 0.826 | 0.311 |
| Median latency |  | 71.7 ms |
| p95 latency |  | 114.4 ms |
| Decisions scored | 600 | 600 |

Fine-tuning fixed **224** decisions the base model got wrong and broke **34** it got right.

## Use it

```bash
pip install systemonemodels
systemone pull biplov/emotion-rlcd-objective
```

```python
import json
import laya_mlx as laya  # pip install laya-mlx, on Apple silicon
from systemone import snapshot_download

path = snapshot_download("biplov/emotion-rlcd-objective")
agent = laya.load(str(path))
questions = json.loads((path / "questions.json").read_text())
print(agent.predict("your text here", questions)["answers"])
```

## Questions

The questions it was trained to answer. Their wording is part of the model's input, so ask them as written.

```json
{
  "emotion": {
    "type": "choice",
    "instructions": "Which emotion does the writer express?",
    "criteria": {
      "sadness": "sad, hopeless, lonely, hurt",
      "joy": "happy, content, excited, proud",
      "love": "affection, tenderness, longing for someone",
      "anger": "angry, irritated, resentful, offended",
      "fear": "afraid, anxious, nervous, worried",
      "surprise": "surprised, amazed, shocked, curious"
    }
  }
}
```

## Training

```json
{
  "method": "lora",
  "objective": "rlcd",
  "epochs": 4,
  "batch_size": 8,
  "grad_accum": 2,
  "lr": 0.0002,
  "head_lr": 0.0001,
  "lora_rank": 16,
  "lora_alpha": 32,
  "lora_dropout": 0.05,
  "lora_layers": 0,
  "full_layers": 4,
  "head_dropout": 0.1,
  "weight_decay": 0.01,
  "warmup": 0.06,
  "max_grad_norm": 1.0,
  "shuffle_options": true,
  "class_weighting": "none",
  "patience": 2,
  "grad_checkpoint": "auto",
  "precision": "bfloat16",
  "seed": 13
}
```

---

*Generated by `systemone push` from the files in this repository. Push a README.md, or edit the card on this page, to replace it.*

---

From System One Models — https://systemonemodels.ai/ · every System One model: https://systemonemodels.ai/system-one-models
