BEncoderRT's picture
Update README.md
c246a50 verified
metadata
license: apache-2.0
datasets:
  - BEncoderRT/User_Intent_Risk_Triage
language:
  - zh
base_model:
  - Qwen/Qwen2.5-0.5B-Instruct
pipeline_tag: text-classification
tags:
  - lora
  - zh
  - demo

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))