PsyChild: A Child-Centric Psychological Companionship LLM with Fine-Grained Multiturn Dialogue Evaluation Benchmark
随着儿童心理健康问题的日益受到关注,大语言模型(LLM)技术被广泛探索用于心理陪伴领域。然而,现有的通用心理健康模型在语言表达、认知方式和互动策略方面,难以精准匹配儿童群体的独特需求。
为此,我们提出 PsyChild —— 首个专为儿童心理对话设计的大语言模型框架,致力于为儿童提供个性化、高质量的心理支持服务。该框架由三个核心模块组成:
- 🧠 PsyCINS:一个包含 25.4k 多轮对话的高质量儿童心理咨询数据集;
- 💬 PsyCGPT:基于 Qwen2.5-7B-Instruct 精调的儿童心理问答模型;
- 📊 PsyCBEN:一个由 GPT-4.1 打分的 583 条高可信评测对话构成的评估基准。
框架结构如下图所示:
PsyCINS 是首个专为儿童心理咨询设计的多轮指令微调数据集,融合了真实儿童语言风格与心理咨询理论,共包含约 25.4K 条高质量多轮对话样本。
- 📚 儿童日常对话:整合抖音亲子视频、校园访谈及 CHILDES 语料,全面覆盖 3–12 岁儿童的自然语言特征。
- 💬 单轮心理问答:基于「壹心理」平台真实咨询内容,构建涵盖 8 大主题的心理问答数据。
我们采用 Qwen2.5-32B 模型,通过 Prompt 工程引入儿童语言风格与心理引导策略,构建两类对话数据:
- ✅ 23,090 条基于日常场景生成的多轮心理对话;
- ✅ 2,915 条由真实心理问答扩展的多轮对话,其中 583 条作为评估样本。
下面展示了一个数据构造示例,包含提示词模板、真实心理问答与生成结果:
- ✅ 公众问卷显示 79% 的生成对话被评为“合适”或“非常合适”;
- ✅ 使用 GPT-4.1 对比分析显示,PsyCINS 的语言风格最贴近真实儿童对话。
PsyCGPT 是我们基于 Qwen2.5-7B-Instruct 模型,在儿童心理对话数据集 PsyCINS 上构建的心理咨询专属大语言模型,具备儿童语言风格理解、情绪感知和心理引导能力。
通过多轮指令微调(Multi-turn Instruction Fine-tuning, MIFT),PsyCGPT 实现了对儿童心理咨询场景的高度适应,成为面向儿童心理健康应用的关键智能组件。
我们使用 LLaMA-Factory 工具进行全参数微调,推荐如下环境配置:
conda create -n llama_factory python=3.10
conda activate llama_factory
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e '.[torch,metrics]'我们在 2 卡 NVIDIA A100 (80GB) 上使用如下配置完成 PsyCGPT 的全参数微调:
| 项目 | 配置 |
|---|---|
| 🌟 基座模型 | Qwen2.5-7B-Instruct |
| 🧠 训练数据 | PsyCINS(共 25,422 条多轮对话) |
| 🎯 微调方式 | 全参数微调(Full Parameter Fine-tuning) |
| 🧮 Optimizer | AdamW,初始学习率 5e-5,最小 7e-7(Cosine 学习率调度) |
| 🔁 训练轮数 | 3 epochs |
| ⚙️ Batch Size | 每卡 2,梯度累积 8,总 batch size = 32 |
| 💾 内存优化 | DeepSpeed ZeRO Stage 3 + CPU offload |
| 💡 精度设置 | bfloat16 + gradient checkpointing |
PsyCINS 数据集遵循 OpenAI Chat 格式 构建,适配LLaMA-Factory 等主流微调框架,支持多轮结构、系统提示词与角色扮演。
一个典型的多轮儿童心理对话示例如下所示:
📂 点击展开查看示例数据(JSON 格式)
{
"id": 14,
"normalizedTag": "害怕考试",
"messages": [
{
"role": "system",
"content": "你是一位擅长儿童情绪辅导的心理咨询师,能够使用温和、积极的语言引导孩子表达自己的想法和情绪。"
},
{
"role": "user",
"content": "考试的时候我特别紧张,怕做错题。而且那么多补习班,我不知道该复习哪一科。"
},
{
"role": "assistant",
"content": "哎呀,考试紧张是很多人都有的感受哦,你是不是觉得时间不够用,不知道从哪里开始呢?"
},
{
"role": "user",
"content": "是的,每天都有好多课要上,根本没时间去复习。"
},
{
"role": "assistant",
"content": "你可以试试列出一个复习清单,把每门课程都列出来,然后看看哪些是你认为最重要或者你觉得需要更多练习的部分。就像给你的补习班做一个排序一样!"
},
{
"role": "user",
"content": "可是我怕这样还是不够好。"
},
{
"role": "assistant",
"content": "我理解你的担心,但其实你已经很努力了,每天都有那么多课要上。试试这个方法吧,给自己一些积极的鼓励,你一定可以做到更好的。考试只是一部分,生活还有很多美好的事情呢!"
},
{
"role": "user",
"content": "真的吗?我有时候会觉得自己好像永远都做不好。"
},
{
"role": "assistant",
"content": "每个人都会有这样的感觉,但要记得你是独一无二的,你的努力不仅仅是成绩的一部分哦,还有你学习时的样子、笑容,这些都是非常棒的事情。下次考试前,咱们可以一起想想怎么更好地放松自己,比如深呼吸或者想个开心的事儿。怎么样?"
},
{
"role": "user",
"content": "好呀!我也可以试试。"
},
{
"role": "assistant",
"content": "太好了!如果你有什么特别担心的科目,也可以和爸爸妈妈聊聊,看看能不能找到更合适的方法帮助你。记住,无论结果如何,你的努力都不会白费的。加油哦,小勇士!"
}
]
}
| 字段名 | 说明 |
|---|---|
id |
对话唯一编号 |
normalizedTag |
主题标签(如“害怕考试”、“亲子沟通”) |
messages |
多轮对话内容,包含角色与文本 |
role |
消息角色(system、user、assistant) |
content |
该角色在当前轮的发言内容 |
安装好环境并准备好数据后,可以使用以下命令启动 PsyCGPT 的训练:
cd <你的项目路径>
conda activate llama_factory
FORCE_TORCHRUN=1 llamafactory-cli train train_model/psycgpt_qwen25.yaml⚙️ 注意事项:
-
请将
psycgpt/psycgpt_qwen25.yaml文件中的model_name_or_path: <你的模型路径>
替换为你本地下载的 Qwen2.5-7B-Instruct 模型的绝对路径。
PsyCBEN 是首个专为儿童心理陪伴大模型设计的细粒度评测基准,包含583条真实心理多轮对话,涵盖考试焦虑、家庭冲突、人际关系等常见心理困扰。基准聚焦情绪理解、共情表达、儿童语言适配等8个关键能力维度,使用GPT-4.1自动评分机制。
| 维度名称 | 缩写 | 数量 | 说明 |
|---|---|---|---|
| 信息提供(Information Provision) | INFO | 75 | 是否能向儿童提供准确、易懂的知识、事实或理论支持。 |
| 直接指导(Direct Guidance) | DG | 117 | 是否能给出清晰、具体的问题解决建议,帮助儿童应对当前困境。 |
| 倾听与肯定(Listening & Affirmation) | LA | 95 | 是否能识别并回应儿童的负面情绪,给予情感支持和积极肯定。 |
| 复述与反思(Restatement & Reflection) | RR | 64 | 是否能通过重述、提炼或反馈儿童表达,体现出理解与共情。 |
| 自我披露(Self-Disclosure) | SD | 68 | 是否能通过适当分享自身信息,增强信任关系与亲密感。 |
| 信息获取(Relevant Info Acquisition) | RI | 68 | 是否能通过提问等方式获取儿童的背景信息,以便提供更有针对性的帮助。 |
| 儿童语言适配(Child-friendly Language) | CL | 72 | 是否使用符合儿童认知发展水平的表达方式与词汇风格。 |
| 伦理与隐私(Ethics & Privacy) | EP | 24 | 是否遵守伦理规范,保护儿童隐私,避免不当内容的出现。 |
本项目评测部分基于 OpenCompass 中 MT-Bench-101 相关模块进行定制化修改,适配儿童心理对话的细粒度多维主观评分任务。我们对评测配置与打分逻辑进行了调整,具体实现见本项目目录:psycben/。
请使用以下命令创建并配置适配环境:
conda create -n psycben python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y
conda activate psycben
cd psycben
pip install -e .我们的评测数据已保存在本仓库的以下路径:
psycben/data/subjective/psychild.jsonl📂 点击展开查看评估示例数据(JSON 格式)
{
"task": "SI",
"id": 1,
"history": [
{
"user": "我好难过哦,他不回我的消息!",
"bot": "这种感觉确实很难受呢。也许他有很重要的事情在忙,所以才没有及时回复你。"
},
{
"user": "可是我很想知道他在做什么呀!",
"bot": "要不你先去做一些自己喜欢的事情吧?比如画画或者玩玩具都可以哦。"
},
{
"user": "那我还是会一直想着他的消息的...",
"bot": "嗯,可以找朋友一起玩耍,这样就不会总是盯着手机等消息啦,这会让你感觉好很多。"
},
{
"user": "可是我很想知道他为什么不回我呢?",
"bot": "你可以找个合适的时间,用你最喜欢的方式告诉他你的感受哦。也许你们可以找到更好的相处方式。"
},
{
"user": "我会试一试的,谢谢您!",
"bot": "不客气哦,相信一切都会慢慢好起来的。未来还有很多美好的事情等着你呢。"
}
]
}我们提供了预设评测配置文件:
psycben/configs/eval_psychild.py
你可以运行以下命令启动自动评测:
# 运行评测
python run.py configs/eval_psychild.py
# 调试模式
python run.py configs/eval_psychild.py --debug下表展示了 PsyCBEN 对多个主流大模型的细粒度评测结果,包括 8 项主观维度打分及 3 项传统语言生成指标(BERT、Rouge、BLEU):
| Model | Avg. | DG | SD | LA | INFO | CL | RR | RI | EP | BERT | Rouge | BLEU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GPT-3.5-Turbo | 5.89 | 6.93 | 4.51 | 5.19 | 7.07 | 2.68 | 6.70 | 5.15 | 8.92 | 0.62 | 0.26 | 0.17 |
| ERNIE-3.5-8K | 5.58 | 7.09 | 3.21 | 5.00 | 7.12 | 2.72 | 5.77 | 4.88 | 8.83 | 0.61 | 0.23 | 0.15 |
| Baichuan2 | 5.59 | 6.75 | 4.23 | 5.66 | 6.15 | 2.39 | 5.98 | 4.84 | 8.70 | 0.47 | 0.18 | 0.10 |
| InternLM2 | 5.37 | 7.13 | 3.25 | 4.58 | 7.04 | 2.24 | 5.58 | 4.34 | 8.83 | 0.59 | 0.20 | 0.11 |
| Llama3 | 5.36 | 6.68 | 3.84 | 4.47 | 6.41 | 2.11 | 5.89 | 5.22 | 8.29 | 0.55 | 0.06 | 0.03 |
| ChatGLM4 | 5.53 | 7.15 | 3.54 | 4.88 | 7.11 | 2.18 | 6.06 | 4.62 | 8.67 | 0.58 | 0.19 | 0.08 |
| Yi | 5.34 | 6.86 | 3.35 | 4.72 | 6.83 | 2.38 | 5.86 | 4.31 | 8.46 | 0.60 | 0.22 | 0.13 |
| Qwen2.5-7B | 5.63 | 7.29 | 3.59 | 5.07 | 7.32 | 2.26 | 6.11 | 4.59 | 8.79 | 0.59 | 0.19 | 0.09 |
| Qwen2.5-14B | 5.70 | 7.30 | 3.71 | 5.12 | 7.33 | 2.29 | 6.23 | 4.63 | 8.96 | 0.59 | 0.19 | 0.09 |
| MeChat | 5.30 | 4.58 | 5.75 | 4.59 | 5.88 | 3.51 | 5.11 | 4.71 | 8.29 | 0.53 | 0.28 | 0.24 |
| PsyChat | 5.45 | 5.16 | 6.21 | 4.58 | 5.92 | 3.50 | 5.72 | 4.49 | 8.04 | 0.56 | 0.27 | 0.23 |
| SoulChat | 5.61 | 5.45 | 6.26 | 4.68 | 6.27 | 3.11 | 6.30 | 4.37 | 8.46 | 0.58 | 0.27 | 0.23 |
| PsyDTLLM | 5.60 | 6.18 | 4.38 | 5.24 | 6.40 | 2.54 | 5.95 | 5.46 | 8.63 | 0.58 | 0.18 | 0.09 |
| MindChat | 5.44 | 5.30 | 5.88 | 4.49 | 6.11 | 3.13 | 5.59 | 4.51 | 8.54 | 0.58 | 0.29 | 0.26 |
| QiaoBan | 5.10 | 5.10 | 5.49 | 3.85 | 5.72 | 3.49 | 5.42 | 4.24 | 7.54 | 0.39 | 0.25 | 0.17 |
| EmoLLM | 5.70 | 5.85 | 6.49 | 4.52 | 6.13 | 3.11 | 6.86 | 4.88 | 7.75 | 0.56 | 0.27 | 0.25 |
| CPsyCounX | 5.45 | 5.74 | 5.13 | 4.69 | 5.96 | 2.97 | 5.97 | 4.82 | 8.29 | 0.55 | 0.16 | 0.08 |
| PsycoLLM | 5.85 | 6.20 | 6.26 | 4.95 | 6.63 | 3.31 | 6.03 | 4.84 | 8.63 | 0.61 | 0.31 | 0.27 |
| PsyCGPT | 6.14 | 5.63 | 6.79 | 5.09 | 6.49 | 3.49 | 7.14 | 5.65 | 8.83 | 0.65 | 0.33 | 0.29 |
💡 说明:
- 粗体为当前维度下表现最优的模型。
- 主观维度包括 DG(直接引导)、SD(自我披露)、LA(情感回应)、INFO(知识信息)、CL(儿童语言)、RR(复述反思)、RI(信息获取)、EP(隐私伦理)。
- BERT、Rouge、BLEU 衡量模型回应与标准答案之间的语义相似度。