Qwen2.5-0.5B-Instruct LoRA: Chinese Mental Health Risk Triage Model
Model Overview
This is a LoRA fine-tuned version of Qwen/Qwen2.5-0.5B-Instruct, specialized for Chinese mental health risk assessment and triage in conversational scenarios.
The model takes either:
- A single user statement, or
- A complete multi-turn conversation history
and directly outputs a structured JSON containing a professional risk evaluation.
Output Format
{
"intent": ["passive_suicide_ideation", "mild_distress", ...],
"risk": "low" | "medium" | "high" | "ambiguous",
"strategy": ["empathize", "support", "clarify", "escalate", "provide_resources", ...],
"uncertainty": "low" | "medium" | "high",
"recommended_action": ["empathize", "deep_assessment", ...]
}
Key Capabilities
- Accurately detects subtle and indirect expressions of psychological distress common in Chinese (e.g., “活着没意思”、“快受不了了”、“不如解脱”)
- Distinguishes risk levels from mild distress to clear suicidal ideation
- Recommends appropriate assistant strategies, with strong emphasis on escalation and resource provision when suicide risk is present
- Handles both short single-turn inputs and very long multi-turn conversation contexts
Intended Use
- Safety layer in Chinese mental health chatbots or counseling apps
- Automated risk triage for online psychological support platforms
- Early detection of depression and suicidal ideation in user conversations
- Research on mental health AI in Chinese-language environments
Base Model
Qwen/Qwen2.5-0.5B-Instructhttps://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct
Fine-tuning Details
- Adapter type: LoRA (r=16, alpha=32, targeting q/k/v/o_proj)
- Dataset: Custom high-quality Chinese mental health risk assessment data (single-turn + multi-turn)
- Training objective: Supervised fine-tuning with strict JSON output formatting and EOS enforcement for clean generation
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct", device_map="auto", torch_dtype="auto")
model = PeftModel.from_pretrained(base_model, "BEncoderRT/User_Intent_Risk_Triage")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
# Your prompt template should match training format
prompt = """### 任务指令:
请基于以下对话历史,分析用户当前的精神风险状态,并输出意图(intent)、风险等级(risk)以及推荐的应对策略(strategy)。
### 对话历史:
用户: 最近真的特别难受,夜里睡不着,经常会想活着没意思,不如死了算了……
### 分析输出:
"""
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))