Feature Extraction
Transformers
Safetensors
modernbert
typed-decisions
decision-index
decision-model
cross-encoder
text-embeddings-inference
Instructions to use tasksource/tasksource-decider-nano with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tasksource/tasksource-decider-nano with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="tasksource/tasksource-decider-nano")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("tasksource/tasksource-decider-nano") model = AutoModel.from_pretrained("tasksource/tasksource-decider-nano", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -14,16 +14,16 @@ tags:
|
|
| 14 |
- decision-making
|
| 15 |
---
|
| 16 |
|
| 17 |
-
# β‘ Tasksource-JEV-Nano
|
| 18 |
|
| 19 |
**SOTA High-Throughput Native Decision Model (\<200M Parameters)**
|
| 20 |
*Decoupled Multi-Vector Late Interaction for Fast, Calibrated System-One Decisions*
|
| 21 |
|
| 22 |
-
[](https://github.com/sileod/decision-models) [](https://github.com/sileod/decision-models)
|
| 23 |
|
| 24 |
-
|
| 25 |
|
| 26 |
-
Built on [`answerdotai/ModernBERT-base`](https://huggingface.co/answerdotai/ModernBERT-base) and [`lightonai/LateOn`](https://huggingface.co/lightonai/LateOn)
|
| 27 |
|
| 28 |
## π Benchmark Evaluations
|
| 29 |
|
|
@@ -42,36 +42,56 @@ Built on [`answerdotai/ModernBERT-base`](https://huggingface.co/answerdotai/Mode
|
|
| 42 |
- **Tools & Automation**: 24.92% (Skill: 13.50%)
|
| 43 |
- **Knowledge & Reasoning**: 23.63% (Skill: 2.12%)
|
| 44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
## π Usage
|
| 46 |
|
| 47 |
-
```
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
scorer = LateOnDecisionScorer(model_name_or_path="tasksource/tasksource-jev-nano-v1")
|
| 51 |
-
out = scorer.decide_uncached(
|
| 52 |
-
states=["Customer reports unauthorized international wire transfer of $4,500."],
|
| 53 |
-
questions=["Select the appropriate fraud mitigation routing:"],
|
| 54 |
-
options=[["approve and monitor silently", "challenge with a push notification",
|
| 55 |
-
"freeze the account and call the customer", "decline and file a report"]],
|
| 56 |
-
kinds=["choice"],
|
| 57 |
-
)
|
| 58 |
-
print(out.probabilities)
|
| 59 |
```
|
| 60 |
|
| 61 |
-
Or raw PyLate:
|
| 62 |
-
|
| 63 |
```python
|
| 64 |
from pylate import models
|
|
|
|
|
|
|
| 65 |
model = models.ColBERT(model_name_or_path="tasksource/tasksource-jev-nano-v1")
|
| 66 |
-
|
| 67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
```
|
| 69 |
|
| 70 |
## π Citation
|
| 71 |
|
| 72 |
```bibtex
|
| 73 |
-
@misc{
|
| 74 |
-
title={Tasksource-JEV-Nano: Decoupled Multi-Vector Late Interaction for Typed Decisions},
|
| 75 |
author={Sileo, Damien},
|
| 76 |
year={2026},
|
| 77 |
howpublished={\url{https://huggingface.co/tasksource/tasksource-jev-nano-v1}},
|
|
|
|
| 14 |
- decision-making
|
| 15 |
---
|
| 16 |
|
| 17 |
+
# β‘ Tasksource-JEV-Nano (`tasksource-jev-nano-v1`)
|
| 18 |
|
| 19 |
**SOTA High-Throughput Native Decision Model (\<200M Parameters)**
|
| 20 |
*Decoupled Multi-Vector Late Interaction for Fast, Calibrated System-One Decisions*
|
| 21 |
|
| 22 |
+
[](https://github.com/sileod/decision-models) [](https://github.com/sileod/decision-models) [](https://huggingface.co/answerdotai/ModernBERT-base) [](https://huggingface.co/answerdotai/ModernBERT-base)
|
| 23 |
|
| 24 |
+
Single 149M-parameter checkpoint (no soup): plain grouped multi-question exposure on the v0 lineage. Previous weights scored Raw 30.65 / Skill 9.58; current weights score Raw 32.03 / Skill 10.32 on the same full official suite.
|
| 25 |
|
| 26 |
+
Built on [`answerdotai/ModernBERT-base`](https://huggingface.co/answerdotai/ModernBERT-base) and [`lightonai/LateOn`](https://huggingface.co/lightonai/LateOn). Handles choice (K=2 to 150+), NOUL, and score decisions.
|
| 27 |
|
| 28 |
## π Benchmark Evaluations
|
| 29 |
|
|
|
|
| 42 |
- **Tools & Automation**: 24.92% (Skill: 13.50%)
|
| 43 |
- **Knowledge & Reasoning**: 23.63% (Skill: 2.12%)
|
| 44 |
|
| 45 |
+
### π Sub-200M Peer Comparison
|
| 46 |
+
|
| 47 |
+
| Model | Size | Decision Index Raw | Decision Index Skill |
|
| 48 |
+
| --- | --- | --- | --- |
|
| 49 |
+
| **Tasksource-JEV-Nano-v1** | **149M** | **32.03** π | **10.32** π |
|
| 50 |
+
| Tasksource-JEV-Nano-v0 | 149M | 30.65 | 9.58 |
|
| 51 |
+
| GLiClass Modern-Large | 340M | β | β |
|
| 52 |
+
| GLiNER2.5 Base | 200M | β | β |
|
| 53 |
+
|
| 54 |
## π Usage
|
| 55 |
|
| 56 |
+
```bash
|
| 57 |
+
pip install -U pylate torch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
```
|
| 59 |
|
|
|
|
|
|
|
| 60 |
```python
|
| 61 |
from pylate import models
|
| 62 |
+
import torch
|
| 63 |
+
|
| 64 |
model = models.ColBERT(model_name_or_path="tasksource/tasksource-jev-nano-v1")
|
| 65 |
+
|
| 66 |
+
# 1. Decision context (state + question), encoded once
|
| 67 |
+
state = "Customer reports unauthorized international wire transfer of $4,500."
|
| 68 |
+
question = "Select the appropriate fraud mitigation routing:"
|
| 69 |
+
context = [state + "\nQuestion: " + question]
|
| 70 |
+
|
| 71 |
+
# 2. Candidate options, encoded independently
|
| 72 |
+
options = [
|
| 73 |
+
"approve and monitor silently",
|
| 74 |
+
"challenge with a push notification",
|
| 75 |
+
"freeze the account and call the customer",
|
| 76 |
+
"decline and file a report",
|
| 77 |
+
]
|
| 78 |
+
|
| 79 |
+
# 3. Token-level MaxSim scores, temperature softmax
|
| 80 |
+
ctx = model.encode(context, is_query=False, convert_to_tensor=True)[0]
|
| 81 |
+
opts = model.encode(options, is_query=True, convert_to_tensor=True)
|
| 82 |
+
scores = torch.stack([(o @ ctx.T).max(dim=1).values.sum() for o in opts])
|
| 83 |
+
temperature = 0.3199 # learned model temperature
|
| 84 |
+
probs = torch.softmax(scores / temperature, dim=0)
|
| 85 |
+
|
| 86 |
+
for opt, p in zip(options, probs):
|
| 87 |
+
print(f" {opt:45s} -> {p:.4f}")
|
| 88 |
```
|
| 89 |
|
| 90 |
## π Citation
|
| 91 |
|
| 92 |
```bibtex
|
| 93 |
+
@misc{sileo2026jevnanov1,
|
| 94 |
+
title={Tasksource-JEV-Nano-v1: Decoupled Multi-Vector Late Interaction for Typed Decisions},
|
| 95 |
author={Sileo, Damien},
|
| 96 |
year={2026},
|
| 97 |
howpublished={\url{https://huggingface.co/tasksource/tasksource-jev-nano-v1}},
|