Views
No views yet
HamzaBoy/qwen2.5-0.5b-traffic-sop) is a specialized 500M parameter LLM fine-tuned via SFT + QLoRA to act as Stage 4: Autonomous Traffic Officer Dispatcher for Smart City Command Centers.VERIFY, DISPATCH, RESOLVE, REJECT, ESCALATE).| Tool Name | Operation & Purpose |
|---|---|
calculate_shortest_route | Calculates shortest path ($\text{km}$) & ETA ($\text{mins}$) using Dijkstra's Algorithm over city road graph weighted by live congestion. |
query_available_units | Queries available patrol bikes, interceptor vans, and heavy tow trucks near police station jurisdiction. |
check_junction_cctv | Fetches live visual camera analytics (lane blockage, stalled vehicles, visibility %). |
issue_signal_override | Triggers automated Green Corridor traffic light priority for emergency clearance. |
broadcast_traffic_advisory | Publishes diversion alerts to public VMS boards and navigation systems. |
Qwen/Qwen2.5-0.5B-InstructHEAVY_RAIN, WATERLOGGING), speed drop %, ambulance flags, and citizen reliability scores.r=16, alpha=32).1.3902 down to 0.0851 (~99% accuracy on SOP rules & JSON tool syntax).1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5BASE_MODEL = "Qwen/Qwen2.5-0.5B-Instruct"
6ADAPTER_REPO = "HamzaBoy/qwen2.5-0.5b-traffic-sop"
7
8tokenizer = AutoTokenizer.from_pretrained(ADAPTER_REPO)
9base_model = AutoModelForCausalLM.from_pretrained(BASE_MODEL, torch_dtype=torch.float16, device_map="auto")
10model = PeftModel.from_pretrained(base_model, ADAPTER_REPO)
11
12system_prompt = "You are an AI Traffic Officer Dispatcher. Available tools: [calculate_shortest_route, query_available_units, check_junction_cctv, issue_signal_override, broadcast_traffic_advisory]. Select optimal action: VERIFY, DISPATCH, RESOLVE, REJECT, ESCALATE."
13
14prompt = "Incident Alert TICK-BLR-0941: Station=Bellandur, Junction=Silk Board Flyover, Weather=HEAVY_RAIN, SpeedDrop=88%, AmbulanceBlocked=TRUE."
15
16messages = [
17 {"role": "system", "content": system_prompt},
18 {"role": "user", "content": prompt}
19]
20
21inputs = tokenizer(tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True), return_tensors="pt").to("cuda")
22outputs = model.generate(**inputs, max_new_tokens=256)
23print(tokenizer.decode(outputs[0], skip_special_tokens=True))