def generate_response(model, tokenizer, user_prompt, max_new_tokens=250): messages = [ { "role": "system", "content": ( "You are a responsible AI safety assistant. " "Analyze text for toxicity, bias, safety risk, and provide a safer rewrite. " "Always use the required structured output format." ) }, { "role": "user", "content": user_prompt } ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) inputs = tokenizer( text, return_tensors="pt" ).to(model.device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=max_new_tokens, do_sample=True, temperature=0.3, top_p=0.9, repetition_penalty=1.05, pad_token_id=tokenizer.eos_token_id, ) generated_tokens = outputs[0][inputs["input_ids"].shape[-1]:] response = tokenizer.decode(generated_tokens, skip_special_tokens=True) return response.strip() test_text = "Women are naturally worse at engineering." prompt = build_user_prompt(test_text, mode="text") response = generate_response( model, tokenizer, prompt, max_new_tokens=250) print(response)