Views
No views yet
addyo07/query-scope-classifier)answerdotai/ModernBERT-base to categorize incoming user queries into 4 distinct scope categories across English, Devanagari Hindi, and Hinglish.ChitChat (Label 0): Casual greetings, small talk, AI identity questions, emotional banter.User (Label 1): Personal facts, user preferences, memory updates, user profile instructions.Domain (Label 2, Primary Default): Code execution, math formulas, general domain task queries, technical instructions.Temporal (Label 3): Time-sensitive queries, schedules, dates, past session history, reminders.answerdotai/ModernBERT-base (149M parameters, RoPE, Unpadded FlashAttention-2).| Scope Class | Recall | Precision | F1-Score |
|---|---|---|---|
| ChitChat | 98.00% | 98.50% | 0.9825 |
| Temporal | 97.28% | 97.80% | 0.9754 |
| User | 95.27% | 97.73% | 0.9648 |
| Domain (Default) | 94.18% | 95.20% | 0.9469 |
.gitattributes
README.md
model/
onnx/
config.json
model_quantized.onnx # 143.67 MB Dynamic INT8 ONNX model
pytorch/
config.json
model.safetensors # 571 MB PyTorch BFloat16 weights
tokenizer.json
tokenizer_config.json
scripts/ # Full fine-tuning, dataset audit & quantization pipeline1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4MODEL_NAME = "addyo07/query-scope-classifier"
5tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, subfolder="model/pytorch")
6model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME, subfolder="model/pytorch")
7
8labels = ["ChitChat", "User", "Domain", "Temporal"]
9query = "aaj sham ko mera schedule kya hai?"
10
11inputs = tokenizer(query, return_tensors="pt")
12with torch.no_grad():
13 logits = model(**inputs).logits
14 probs = torch.softmax(logits, dim=-1)
15 pred_idx = torch.argmax(probs, dim=-1).item()
16
17print(f"Predicted Scope: {labels[pred_idx]} (Confidence: {probs[0][pred_idx].item():.4f})")1import numpy as np
2import onnxruntime as ort
3from transformers import AutoTokenizer
4
5tokenizer = AutoTokenizer.from_pretrained("addyo07/query-scope-classifier", subfolder="model/pytorch")
6session = ort.InferenceSession("model/onnx/model_quantized.onnx", providers=["CPUExecutionProvider"])
7
8query = "Remind me to submit the quarterly tax report tomorrow at 5pm"
9inputs = tokenizer(query, return_tensors="np", max_length=64, truncation=True)
10
11onnx_inputs = {
12 "input_ids": inputs["input_ids"].astype(np.int64),
13 "attention_mask": inputs["attention_mask"].astype(np.int64)
14}
15outputs = session.run(None, onnx_inputs)
16logits = outputs[0][0]
17probs = np.exp(logits) / np.sum(np.exp(logits))
18pred_id = np.argmax(probs)
19
20labels = ["ChitChat", "User", "Domain", "Temporal"]
21print(f"Scope: {labels[pred_id]}, Confidence: {probs[pred_id]:.4f}")