ticket-triage-qwen3-2b

Fine-tuned Qwen3-2B for extracting structured maintenance information from tenant ticket text.

Training

  • Base model: Qwen/Qwen3-2B (loaded via unsloth/Qwen3-2B)
  • Method: QLoRA (r=16, 4-bit NF4 quantization)
  • Framework: Unsloth + TRL SFTTrainer
  • Hardware: Google Colab T4 (16GB VRAM)
  • Epochs: 3
  • Learning rate: 2e-4, cosine schedule

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "dvr76/ticket-triage-qwen3"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto", trust_remote_code=True)

messages = [
    {"role": "system", "content": "You are a property maintenance ticket triage system. Respond with ONLY valid JSON."},
    {"role": "user", "content": "kitchen sink tap water is leaking from yesterday morning"},
]

text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Output schema

{
  "is_maintenance_request": true,
  "issues": [{"category": "", "sub_category": "", "location": "", "urgency": ""}],
  "vendor_type": "",
  "entry_required": true
}

API

GitHub: github.com/dvr76/ticket-triage-qwen3

License

Apache 2.0 (inherited from Qwen3-2B).

Downloads last month
24
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
Input a message to start chatting with dvr76/ticket-triage-qwen3.

Model tree for dvr76/ticket-triage-qwen3

Finetuned
Qwen/Qwen3.5-2B
Finetuned
(169)
this model

Dataset used to train dvr76/ticket-triage-qwen3