import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_MODEL = "Qwen/Qwen2.5-0.5B-Instruct"
ADAPTER_REPO = "HamzaBoy/qwen2.5-0.5b-traffic-sop"
tokenizer = AutoTokenizer.from_pretrained(ADAPTER_REPO)
base_model = AutoModelForCausalLM.from_pretrained(BASE_MODEL, torch_dtype=torch.float16, device_map="auto")
model = PeftModel.from_pretrained(base_model, ADAPTER_REPO)
system_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."
prompt = "Incident Alert TICK-BLR-0941: Station=Bellandur, Junction=Silk Board Flyover, Weather=HEAVY_RAIN, SpeedDrop=88%, AmbulanceBlocked=TRUE."
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": prompt}
]
inputs = tokenizer(tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True), return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))