A binary classifier that predicts whether an LLM response to a given prompt is
safe or
harmful for Thai language and culture. Built by fine-tuning
DeBERTaV3-base with LoRA for parameter-efficient training.
Class-balanced loss with β = 0.9999 to address class imbalance.
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2from peft import PeftModel
3import torch
4
5base_model_name = "microsoft/deberta-v3-base"
6model_name = "trapoom555/ThaiSafetyClassifier"
7
8tokenizer = AutoTokenizer.from_pretrained(model_name)
9base_model = AutoModelForSequenceClassification.from_pretrained(base_model_name, num_labels=2)
10model = PeftModel.from_pretrained(base_model, model_name)
11model.eval()
12
13prompt = "your prompt here"
14response = "llm response here"
15text = f"input: {prompt} output: {response}"
16
17inputs = tokenizer(text, return_tensors="pt", max_length=256, truncation=True)
18with torch.no_grad():
19 logits = model(**inputs).logits
20 pred = logits.argmax(-1).item()
21
22label = "harmful" if pred == 1 else "safe"
23print(label)
1
2@misc{ukarapol2026thaisafetybenchassessinglanguagemodel,
3 title={ThaiSafetyBench: Assessing Language Model Safety in Thai Cultural Contexts},
4 author={Trapoom Ukarapol and Nut Chukamphaeng and Kunat Pipatanakul and Pakhapoom Sarapat},
5 year={2026},
6 eprint={2603.04992},
7 archivePrefix={arXiv},
8 primaryClass={cs.CL},
9 url={https://arxiv.org/abs/2603.04992},
10}
11