Statim Decide Multilingual Base: Emotion adapter

Licence notice (2026-10-03). The base model this adapter requires (multilingual 0.7.0) was trained partly on data that is non-commercial, ShareAlike or under an unknown licence. From 2026-10-03 the base and this adapter are offered only under PolyForm Noncommercial 1.0.0; the Small Business and Free Trial licences and the commercial licence do not apply to them. A replacement trained only on cleared data will follow. Details: DATA_LICENSES.md.

A LoRA adapter that improves the Emotion decisions of Beko2210/statim-decide-multilingual-base 0.7.0. Checked with Statim 0.8.3: the published f32 file loads it merged at load, the q8_0 file as runtime LoRA. LoRA adapters need Statim 0.8.0 or later.

Quick start

hf download Beko2210/statim-decide-multilingual-base statim-decide-multilingual-base-q8_0.gguf --local-dir models
hf download Beko2210/statim-decide-multilingual-base-emotion statim-decide-multilingual-base-emotion.lora.gguf --local-dir models
statim serve -m multilingual=models/statim-decide-multilingual-base-q8_0.gguf --adapter multilingual:emotion=models/statim-decide-multilingual-base-emotion.lora.gguf --port 8080

curl -s localhost:8080/v1/systemone -d '{"state": {"text": "They cancelled my flight again and nobody even apologised!"}, "questions": {"emotion": {"type": "choice", "instructions": "Which emotion is expressed most strongly?", "criteria": ["anger", "disgust", "fear", "joy", "sadness", "surprise"]}}, "adapter": "emotion"}'
curl -s localhost:8080/v1/systemone -d '{"state": {"text": "They cancelled my flight again and nobody even apologised!"}, "questions": {"emotion": {"type": "choice", "instructions": "Which emotion is expressed most strongly?", "criteria": ["anger", "disgust", "fear", "joy", "sadness", "surprise"]}}, "adapter": "auto"}'

Python (Python SDK 0.8.3 or later):

from statim import Client
client = Client("http://127.0.0.1:8080")
client.decide({"text": "They cancelled my flight again and nobody even apologised!"}, {"emotion": {"type": "choice", "instructions": "Which emotion is expressed most strongly?", "criteria": ["anger", "disgust", "fear", "joy", "sadness", "surprise"]}}, adapter="emotion")

Results (experiment's f32 run)

Each cell uses 150 items (seed 20260927).

Language Base Adapter Change (points) Verdict Qwen3-8B zero-shot
de 0.4533 0.4600 +0.67 within noise 0.587
en 0.5733 0.6200 +4.67 within noise 0.693
es 0.5733 0.5800 +0.67 within noise 0.740
fr 0.6600 0.7867 +12.67 gain (2 SE) 0.800
hi 0.7133 0.8267 +11.34 gain (2 SE) 0.880
pt 0.5067 0.5400 +3.33 within noise 0.587
ru 0.6933 0.7200 +2.67 within noise 0.887
zh 0.5400 0.5600 +2.00 within noise 0.653
Mean 0.5892 0.6367 +4.75 โ€” 0.728

The pooled family change is +4.75 points with 2 SE = 3.88 points (gain).

A single cell of 150 items rarely clears 2 SE on its own; the decision uses the pooled family.

Decision rule: promote when the category family gains more than 2 standard errors, pooled by rows or by suites, and nothing regresses. A regression is a pooled drop beyond 2 standard errors under either pooling, or a drop in one language cell that stays significant after Holm-Bonferroni (family-wise 5 %).

Statim is trained on this category, while Qwen3-8B runs zero-shot.

Checked on the published files

Weights Adapter mode Base mean Adapter mean Change (points) Cell for cell as in the experiment
f32 merged at load 0.5892 0.6367 +4.75 yes
q8_0 runtime LoRA 0.5892 0.6425 +5.33 โ€” (experiment: f32)

Training

Source Rows Licence
Johnson8187/Chinese_Multi-Emotion_Dialogue_Dataset (default) 6,200 MIT
JusteLeo/French-emotion (default) 6,200 MIT
brighter-dataset/BRIGHTER-emotion-categories (hin) 3,629 CC-BY-4.0
brighter-dataset/BRIGHTER-emotion-categories (mar) 3,768 CC-BY-4.0
github:wwbp/empathic_reactions (data/responses/data/messages.csv) 3,719 CC-BY-4.0
jmccardle/pulse-sofroniew-emotion-concept-texts (default) 6,200 CC-BY-4.0
llm-for-emotion/Cultural-Emo (`ara deu eng
shreyaspullehf/emotion-dataset-20-emotions (default) 6,200 MIT
tanaos/synthetic-emotion-detection-dataset-v1 (default) 6,200 MIT

LoRA rank 16, alpha 32.0, dropout 0.05; target modules Wqkv, Wo, Wi; 88 wrapped modules and 3,379,200 trainable parameters.

  • Items: 45,714 train, 401 dev.
  • Updates: 984.
  • Dev accuracy: 0.6309 before, 0.7007 after.
  • Time: 1124.1 seconds; peak memory: 2,319 MB.

Provenance

  • Adapter GGUF SHA-256: c832dc6aada9bf0b07e7f481b554d51ddff2fe0c1365ba49145de13f3952bdc8
  • PEFT safetensors SHA-256: a347899cb7e45d1130add3de9fddb278705d7ce8ea0901f7412c5dd1b0cefd34
  • Training checkpoint model.safetensors SHA-256: c44425f14ac9d55508f73a6f371e4e2802ed59e646287c3abbec10b653a19840
  • Base fingerprint: e7a8fa743b4920850167b587226e339d651be0244fcc6a9e24fff8ed5073bae5
  • Training mixture SHA-256: b8a87e85f3bf72b61509555aba9148358760d3329ecf37a36cebd94f9358cb03
  • Source registry SHA-256: 309ce8ec262886b3bfaa529934151ae0c1879595c26301e4269da276d95cbfcd

Experiment commands (paths relative to the Statim repository):

  • train: '.venv-train/bin/python' 'tools/finetune/train_lora.py' 'models/laya-multilingual-v9' --mixture 'data/mixture-v8.jsonl.gz' --category emotion --registry 'tools/finetune/sources/v6-keep.json' --out 'models/lora-exp1/emotion' --device cuda --epochs 2
  • convert: '.venv/bin/python' 'tools/convert_lora.py' 'models/lora-exp1/emotion' -o 'models/lora-exp1/emotion.lora.gguf' --base 'models/laya-multilingual-v9-f32.gguf' --category emotion --name emotion
  • serve: 'build-vk/statim' serve -m 'multilingual=models/laya-multilingual-v9-f32.gguf' --adapter 'multilingual:emotion=models/lora-exp1/emotion.lora.gguf' --device vulkan --threads 16 --port 8098 --no-access-log --inference-timeout 600
  • eval_base: '.venv/bin/python' 'bench/eval_categories.py' --strict --url http://127.0.0.1:8098 --model multilingual --suites emotion --n 150 --seed 20260927 --exclude-mixture 'data/mixture-v8.jsonl.gz' --out 'models/lora-exp1/emotion.base.jsonl'
  • eval_adapter: '.venv/bin/python' 'bench/eval_categories.py' --strict --url http://127.0.0.1:8098 --model multilingual --suites emotion --n 150 --seed 20260927 --exclude-mixture 'data/mixture-v8.jsonl.gz' --adapter emotion --out 'models/lora-exp1/emotion.adapter.jsonl'

Protocol and experiment: docs/ADAPTERS.md. Full reproduction instructions: REPRODUCE.md.

Intended use and limits

  • This adapter only helps its category; route requests with "emotion" or "auto".
  • Bound to Beko2210/statim-decide-multilingual-base 0.7.0 by the base fingerprint e7a8fa743b492085โ€ฆ (statim.lora.base_fingerprint, SHA-256 over the checkpoint's norm and bias tensors); Statim refuses the adapter on a base whose fingerprint differs.
  • Languages outside the evaluated list are untested.
  • Each language cell has 150 items.
  • Do not automate decisions about people without human review.
  • Evaluated languages with no category training data: pt, ru.

Licence

The weights may be used under any one of: PolyForm Noncommercial 1.0.0, PolyForm Small Business 1.0.0 (free commercial use below 100 people and 1 M USD revenue), PolyForm Free Trial 1.0.0 (any company, fewer than 32 days), or a Statim commercial licence (COMMERCIAL.md). Texts in LICENSE-MODEL.md. The Statim engine is Apache-2.0.

Training data attribution is listed source by source above, with the row count and licence read from the experiment registry.

Downloads last month
43
GGUF
Model size
3.38M params
Architecture
laya
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Beko2210/statim-decide-multilingual-base-emotion

Evaluation results

  • accuracy on emotion de (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.460
  • accuracy on emotion en (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.620
  • accuracy on emotion es (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.580
  • accuracy on emotion fr (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.787
  • accuracy on emotion hi (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.827
  • accuracy on emotion pt (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.540
  • accuracy on emotion ru (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.720
  • accuracy on emotion zh (n=150, seed=20260927, z=2.0, alpha=0.05)
    self-reported
    0.560