初始化项目,由ModelHub XC社区提供模型

Model: dvr76/ticket-triage-qwen3
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-06-04 10:31:16 +08:00
commit 36007ffdaf
7 changed files with 276 additions and 0 deletions

68
README.md Normal file
View File

@@ -0,0 +1,68 @@
---
license: apache-2.0
language:
- en
base_model: Qwen/Qwen3-2B
tags:
- qwen3
- maintenance
- ticket-triage
- structured-extraction
- qlora
- unsloth
pipeline_tag: text-generation
datasets:
- dvr76/india-synthetic-property-maintenance-tickets
---
# 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
```python
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
```json
{
"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).