❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:SoulChat2.0 能够通过少量真实咨询案例,快速构建心理咨询师的数字孪生模型,模拟其语言风格和咨询技术。
- 技术:基于大型语言模型(LLMs),SoulChat2.0 通过数据生成和微调技术,实现个性化心理咨询师的数字孪生。
- 应用:SoulChat2.0 可辅助心理咨询师进行前置谈话和提供24小时在线服务,推动心理健康大模型领域的发展。
正文(附运行示例)
SoulChat2.0 是什么
SoulChat2.0 是华南理工大学未来技术学院-广东省数字孪生人重点实验室基于 SoulChat1.0 模型推出的心理咨询师数字孪生大语言模型。该模型首次定义了特定心理咨询师的数字孪生任务,旨在通过模拟真实心理咨询师的语言风格和疗法技术,提升大模型在真实心理咨询场景中的应用性能。
SoulChat2.0 能够低成本、快速、高效地构建具有特定心理咨询师风格的心理健康大模型,辅助心理咨询师开展工作,如前置谈话和提供24小时在线服务等。
SoulChat2.0 的主要功能
- 心理咨询师数字孪生建模:SoulChat2.0 能通过微调实现对特定心理咨询师的数字孪生,模拟该咨询师的语言风格与咨询技术,提升 LLMs 在真实心理咨询场景中的应用性能。
- 低成本、快速、高效构建模型:SoulChat2.0 能够利用少量的真实咨询案例进行心理咨询师数字孪生建模,低成本、快速、高效地构建具有特定心理咨询师风格的心理健康大模型。
- 辅助心理咨询工作:SoulChat2.0 能够辅助真实世界的心理咨询师进行工作,例如执行前置谈话和提供24小时在线服务等。
- 开源合作:SoulChat2.0 的项目方法代码、数据集和模型已全面开源,便于研究社区进行对比和复现,推动心理健康大模型领域的发展。
SoulChat2.0 的技术原理
- 心理咨询师数字孪生数据生成:SoulChat2.0 通过综合真实世界咨询师的语言风格、咨询技术、来访者大五人格,结合真实世界咨询案例,生成心理咨询师数字孪生数据。
- 多轮对话合成:基于大型语言模型(LLMs),SoulChat2.0 构建具有个性化咨询风格的心理咨询师数字孪生,涉及动态一次性学习、客户端人格模拟和多轮心理健康对话合成。
- 微调大型语言模型:SoulChat2.0 通过微调实现心理咨询师的数字孪生,使用特定的基座模型在 PsyDTCorpus 的训练集上进行全量微调,实现具有特定咨询风格的心理咨询师的数字孪生。
- 多维度评估与提升:SoulChat2.0 在谈话技术、状态与态度、情感共情、认知共情等维度上相较于其他模型有较大幅度的提升,增强了模型的心理咨询性能。
如何运行 SoulChat2.0
1. 环境配置
首先,参考 LLaMA-Factory 进行环境配置:
conda create -n llama_factory python=3.10
conda activate llama_factory
cd ~
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e '.[torch,metrics]'
2. 数据下载
下载 PsyDTCorpus 数据集:
cd <本项目路径>/data
git lfs install
git clone https://www.modelscope.cn/datasets/YIRONGCHEN/PsyDTCorpus.git
3. 模型微调
使用 LLaMA-Factory 进行全量微调:
cd <本项目路径>
conda activate llama_factory
FORCE_TORCHRUN=1 llamafactory-cli train train_model/llama3.1_full_sft_ds3.yaml
4. 模型推理
假设你的服务器 IP 为 198.0.0.8
,使用 vllm 进行推理:
SERVER_MODEL_NAME=SoulChat2.0-Llama-3.1-8B
MODEL_NAME_OR_PATH=<模型本地路径>/SoulChat2.0-Llama-3.1-8B
GPU_MEMORY_UTILIZATION=0.8
PORT=8001
API_KEY=soulchat-rcEmrhVe6zWot67QkJSwqUnNI0EQxxFBMQSAXLtMNsD97PlyGQgjgjW-9jCdQD30
MAX_MODEL_LEN=20000
python -m vllm.entrypoints.openai.api_server \
--served-model-name $SERVER_MODEL_NAME \
--model $MODEL_NAME_OR_PATH \
--gpu-memory-utilization $GPU_MEMORY_UTILIZATION \
--port $PORT \
--api-key $API_KEY \
--max-model-len $MAX_MODEL_LEN
5. 运行 Demo
通过 Streamlit 运行 Demo:
pip install openai==1.7.1
pip install streamlit==1.27.0
pip install streamlit_authenticator==0.3.1
cd infer_demo
streamlit run soulchat2.0_app.py --server.port 8002
通过 http://<服务器ip>:8002
即可访问。
资源
- 项目官网:https://mimictalk.github.io/
- GitHub 仓库:https://github.com/scutcyr/SoulChat2.0
- arXiv 技术论文:https://arxiv.org/pdf/2412.13660
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦