File size: 6,649 Bytes
a0bbb7a
4153621
7f16091
 
 
 
a0bbb7a
4153621
 
7f16091
 
 
 
 
 
 
a0bbb7a
 
7f16091
 
 
 
 
 
 
 
 
c9c9362
7f16091
 
 
 
 
a0bbb7a
7f16091
 
 
c9c9362
7f16091
c9c9362
7f16091
 
 
 
 
2ab9935
7f16091
 
 
 
2ab9935
7f16091
c9c9362
7f16091
c9c9362
7f16091
 
4153621
7f16091
 
 
 
4153621
7f16091
 
 
4153621
7f16091
 
4153621
7f16091
 
c9c9362
7f16091
 
4153621
7f16091
 
4153621
7f16091
 
4153621
7f16091
 
4153621
7f16091
4153621
7f16091
 
 
4153621
7f16091
 
4153621
7f16091
4153621
7f16091
 
 
 
 
4153621
7f16091
 
 
 
 
 
 
2ab9935
7f16091
 
 
 
 
2ab9935
7f16091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4153621
 
7f16091
4153621
 
7f16091
 
 
c9c9362
7f16091
c9c9362
dc11e84
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
base_model:
  - Qwen/Qwen3-0.6B
  - Qwen/Qwen2.5-0.5B-Instruct
  - HuggingFaceTB/SmolLM2-360M-Instruct
  - meta-llama/Llama-3.2-1B-Instruct
library_name: transformers
pipeline_tag: text-classification
tags:
  - intent-classification
  - tool-routing
  - gguf
  - onnx
  - llama.cpp
  - onnxruntime
license: other
---

# Intent Classifier — Release Models

Small, fine-tuned language models for routing a user request to one tool. Each
model returns a compact routing label, not a natural-language response.

The current recommended release is **v2.1 Qwen2.5-0.5B** (`v2.1-qwen2.5-0.5b`):
it achieved 99.9% test accuracy in the v2.1 evaluation.

## Choose a release

| Version | Scope | Recommended completed models |
| --- | --- | --- |
| v2.1 | Full 10k positional-ID DoRA+ experiments, configuration D | Qwen3-0.6B: 99.8% test; Qwen2.5-0.5B: 99.9% test; SmolLM2-360M: 99.7% test. **Recommended: Qwen2.5-0.5B**—the highest-scoring and fastest of the three (253 ms P50). |
| v2.0 | 1k positional-ID experiment matrix (800/100/100) | **DoRA+ Qwen3-0.6B D** (99% validation, 100% test) and **DoRA+ Llama3.2-1B C** (96% validation, 100% test). |
| v1.0 | Initial 1k name-output experiments | **LoRA Qwen3-0.6B C** (99% test) and **LoRA Llama3.2-1B C** (100% test). |

Use v2.1 or v2.0 when your application can map a positional ID back to its
tool. Use v1.0 only when your integration requires the model to emit a tool
name directly.

## Output contract

These are generative routing models. Build the prompt as plain text exactly in
the relevant format below, tokenize that text directly, and read only the
generated continuation. Do **not** wrap the prompt in the base model's chat
template: the examples below are the complete prompt content before any model
tokenizer adds its own special or chat-template tokens.

| Release | Native output | No-tool output | Evaluator behavior |
| --- | --- | --- | --- |
| v1.0 | Tool name, such as `call_handler` | `none` | Used directly as the canonical tool name. |
| v2.x | Positional tool ID, such as `d` | `-` | Convert the ID to the tool name from the prompt's tool list before scoring or invoking the tool. |

### Example: v1.0 (tool-name output)

For `Call my wife.`, the expected raw model output is `call_handler`.

```text
You are a tool router.

Rules:
- Return only the tool name.
- Return "none" if no tool matches.
- Do not explain.

Available Tools:
Name: health_monitor
Description: Monitors driver biometrics such as heart rate, blood oxygen, and cumulative fatigue score from wearables.

Name: insurance_claims
Description: Initiates, documents, and tracks vehicle insurance claims including photo upload and damage assessment.

Name: nav_route_planner
Description: Plans optimal routes, provides turn-by-turn navigation, and recalculates routes around obstacles.

Name: call_handler
Description: Initiates, receives, holds, and terminates hands-free phone calls.

Name: remote_vehicle_lock
Description: Remotely locks or unlocks vehicle doors, boot, and windows and reports current lock state.

User Request:
Call my wife.

Selected Tool:
```

### Example: v2.x (positional-ID output)

For the same request, `call_handler` is the fourth displayed tool, so the
expected raw model output is `d`. Convert `d` back to `call_handler` using the
tool list before calculating accuracy or calling the tool.

```text
You are a tool router.

Available tools are listed with id, name, and description.

Rules:
- Return only the tool id.
- Use the id from the available tools list.
- Return "-" if no tool matches.
- Do not explain.

Available Tools:
ID | Name | Description
a | health_monitor | Monitors driver biometrics such as heart rate, blood oxygen, and cumulative fatigue score from wearables.
b | insurance_claims | Initiates, documents, and tracks vehicle insurance claims including photo upload and damage assessment.
c | nav_route_planner | Plans optimal routes, provides turn-by-turn navigation, and recalculates routes around obstacles.
d | call_handler | Initiates, receives, holds, and terminates hands-free phone calls.
e | remote_vehicle_lock | Remotely locks or unlocks vehicle doors, boot, and windows and reports current lock state.

User Request:
Call my wife.

Selected Tool:
```

## Artifacts

Each release/model folder contains the same inference formats.

- `transformers/`: merged full-weight Transformers checkpoint in safetensors
  format, plus tokenizer and generation configuration.
- `gguf/<quant>/model.gguf`: llama.cpp-compatible exports (`Q4_K_M`, `Q6_K`,
  and `Q8_0`).
- `onnx/<variant>/`: ONNX Runtime exports. Keep every file in a variant folder
  together; `model.onnx` can reference an adjacent external-data file.

The individual release README and `benchmark_provenance.json` record the exact
base-model revision, adapter configuration, prompt format, and artifact
provenance.

## Licensing and notices

This is a **mixed-license repository**, so its Hugging Face metadata is marked
`other` rather than `apache-2.0`. Fine-tuning, merging, quantizing, and
exporting a model do not replace the license of its base-model weights.
The Llama release artifacts are **Built with Llama**.

| Artifacts | Upstream license | What a redistributor must do |
| --- | --- | --- |
| Qwen3-0.6B and Qwen2.5-0.5B derivatives | [Apache License 2.0](https://huggingface.co/Qwen/Qwen3-0.6B) | Comply with Apache-2.0, including its license and notice requirements. |
| SmolLM2-360M derivatives | [Apache License 2.0](https://huggingface.co/HuggingFaceTB/SmolLM2-360M-Instruct) | Comply with Apache-2.0, including its license and notice requirements. |
| Llama-3.2-1B derivatives | [Llama 3.2 Community License](https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct) | Comply with the agreement and Acceptable Use Policy. Distributed copies must include the agreement and a `Notice` text file containing Meta's required attribution. |

For a release containing Llama artifacts, include the Llama 3.2 Community
License Agreement and a `Notice` file with this attribution:

```text
Llama 3.2 is licensed under the Llama 3.2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved.
```

Before publishing, also confirm that the training/evaluation data and any
third-party conversion code permit the intended distribution. This summary is
operational guidance, not legal advice.

## Related repositories

- Training code: <https://github.com/kon171verma/intent-classifier>
- Inference and benchmarking: <https://github.com/kon171verma/intent-classifier-edge-inference>
- Experiment adapters: <https://huggingface.co/kon171verma/intent-classifier-experiments>