docs / familias / cls

cls — Multi-label text classification outputs

Classifier outputs: the label set is written in full and the predicted labels carry *, so both the label space and the prediction are self-describing.

Dominio
NLP / support triage
Versión
1
Padre
— (raíz)
Clave de registros
messages
Separador de lista
,
Archivo
forks/cls/contract.json

Campos por posición

#TipoDescripciónParte
idstr (unique: True)núcleo
textstrnúcleo
labelsmlistnúcleo
conffloat (max: 1)núcleo
rationalestr (optional: True)núcleo

Ejemplo válido

cls|n=12|d=20260603|l=en|model=cls-support-2026|k=6
m1|The quiz froze after question 4, is that a known issue?|question*,feedback,bug*,request,praise,other|0.91|reports a malfunction and asks
m2|Great flashcards, they saved my week!|question,feedback,bug,request,praise*,other|0.97|
m3|Could you add export to Anki?|question,feedback,bug,request*,praise,other|0.94|feature request
m4|Transcription missed the last ten minutes of the lecture.|question,feedback,bug*,request,praise,other|0.9|
m5|How is my level computed?|question*,feedback,bug,request,praise,other|0.95|
m6|The map view is confusing but the summaries are excellent.|question,feedback*,bug,request,praise*,other|0.82|mixed sentiment
m7|Please support PDF slides as input.|question,feedback,bug,request*,praise,other|0.93|
m8|Nothing to report.|question,feedback,bug,request,praise,other*|0.7|
m9|Why does the same question repeat twice?|question*,feedback,bug*,request,praise,other|0.86|possible exposure-control bug
m10|Love the adaptive difficulty, keep it up.|question,feedback*,bug,request,praise*,other|0.9|
m11|Credits were deducted twice for one upload.|question,feedback,bug*,request,praise,other|0.96|billing bug
m12|Can I share a class with a friend?|question*,feedback,bug,request*,praise,other|0.88|

Cárgalo en el playground o valida con mini validate forks/cls/fixtures/valid.mini.

Notas de la familia

.mini-cls — Multi-label text classification outputs#

Prefix: cls Version: 1 Parent:Domain: NLP / support triage

Classifier outputs: the label set is written in full and the predicted labels carry *, so both the label space and the prediction are self-describing.

Record layout#

id:str | text:str | labels:mlist<str>*1+ | conf:float[0..1] | rationale:str?
# field type notes
1 id str core
2 text str core
3 labels mlist<str>*1+ core
4 conf float[0..1] core
5 rationale str? core; optional

Header keys#

key type required description
d str no generation date YYYYMMDD
l str no language code
model str no
k int no labels in the label set
n int yes number of records
v int no contract version

Example#

cls|n=12|d=20260603|l=en|model=cls-support-2026|k=6
m1|The quiz froze after question 4, is that a known issue?|question*,feedback,bug*,request,praise,other|0.91|reports a malfunction and asks
m2|Great flashcards, they saved my week!|question,feedback,bug,request,praise*,other|0.97|
…

Fixtures#

fixtures/valid.minifixtures/canonical.json (round-trip), fixtures/escaping.minifixtures/escaping.json, and the negative cases bad_count.mini, bad_arity.mini, bad_marker.mini, bad_type.mini.

Prompt block#

Generate the transferable specification with mini prompt cls.