Skip to content

Jev vs GLiClass

GLiClass was the row that looked worst on the first pass and turned out to be a payload bug: it prepends the prompt to the text and scores relevance, not truth. With criteria folded into each label and one hypothesis per Noul question it is above every GLiNER checkpoint except the top two.

Metatext decisions

Three hand-written workflows (support tickets, security incidents, agent traces), seven questions, about 123 judgments per model. Small, so treat a ±0.1 difference as a tie; every question has a majority baseline the model has to beat.

MetricJevGLiClass large v3.0
Decision accuracy0.8630.642
Questions over baseline6/75/7
ECE raw → held-out fitted0.0930.250
p50 per case441 ms977 ms
Extraction F1n/an/a
Per-question accuracy
TaskQuestionTypeBaselineJevGLiClass large v3.0
agent_tracesoutcomechoice0.3570.7860.429
agent_tracesneeds_humannoul0.7140.7140.714
customer_servicedepartmentchoice0.4000.9500.850
customer_servicerefund_requestednoul0.7000.9000.950
customer_servicefrustrationscore0.5000.9500.200
security_incidentsseveritychoice0.3120.8750.625
security_incidentsactively_exploitednoul0.6880.9380.750

typed-decisions

LAYA's public benchmark: four workflows × 100 JSON states × five typed questions = 2,000 decisions. Synthetic; gold is a teacher distribution and the label is its argmax. Large enough to carry an ordering.

MetricJevGLiClass large v3.0
Decision accuracy0.7260.446
Questions over baseline18/207/20
ECE raw → held-out fitted0.079 → 0.0490.315 → 0.093
p50 per case405 ms977 ms
Per-question accuracy
TaskQuestionTypeBaselineJevGLiClass large v3.0
td_agent_trace_observabilityactionchoice0.3600.6200.310
td_agent_trace_observabilityneeds_reviewnoul0.5500.6000.560
td_agent_trace_observabilityoutcomechoice0.5000.8000.510
td_agent_trace_observabilityriskscore0.3400.6300.340
td_agent_trace_observabilityurgencyscore0.3700.3600.350
td_customer_serviceactionchoice0.5200.6700.240
td_customer_servicecategorychoice0.3800.9300.730
td_customer_servicechurn_riskscore0.4700.8600.560
td_customer_serviceneeds_humannoul0.6700.6500.330
td_customer_serviceurgencyscore0.4200.8400.740
td_invoice_processingdiscrepancy_severityscore0.4700.5700.150
td_invoice_processingdispositionchoice0.4500.6500.450
td_invoice_processingduplicatenoul0.8900.9200.110
td_invoice_processingmatches_ordernoul0.5400.9600.540
td_invoice_processingurgencyscore0.5100.6800.690
td_security_incidentscredential_compromisenoul0.5500.8200.400
td_security_incidentsdispositionchoice0.7400.7900.330
td_security_incidentsseverityscore0.4900.7900.510
td_security_incidentstrue_positivenoul0.7300.8100.680
td_security_incidentsurgencyscore0.5000.5700.390

Verdict

Jev on every decision question. GLiClass at 0.642 (best config) on the Metatext suite and 0.446 on typed-decisions, with one structural gap: it cannot answer Score at all, because its output is a relevance, not an ordered level.

Frequently asked questions

Why do the GLiClass rows have variants?

Because the payload changes the answer by up to +0.25. The plain rows use label names only; -desc folds the Jev criteria into each label; -desc-nli also presents Noul as one hypothesis and drops the prompt. The last is the correct mapping.

Related