模型 / 数据集
SmartFlowAI/EmoLLM avatar
SmartFlowAI/EmoLLM

EmoLLM:把心理健康对话微调拆成 xtuner 配置集合的开源项目

心理健康大模型 (LLM x Mental Health), Pre & Post-training & Dataset & Evaluation & Depoly & RAG, with InternLM / Qwen / Baichuan / DeepSeek / Mixtral / LLama / GLM series models

1,783 个 Star224 个 ForkPythonMIT

秒懂

它是什么?
EmoLLM 由 SmartFlowAI 维护,MIT 许可,核心不是某个权重文件,而是一批 xtuner 微调脚本加配套数据集、评测与 RAG 部署示例。本文只依据仓库结构、README 表格与发布记录,判断它适合谁、坑在哪里。
适合谁用?
EmoLLM 适合已经会用 xtuner 或愿意照抄配置文件的团队,把它当成心理健康领域指令微调的起点:先确认你要的基座在 xtuner_config/ 下有对应脚本,再确认数据集的许可与来源,最后跑通一次推理验证输出风格。如果你的场景需要临床级可靠性、需要明确的失败兜底策略,或者团队没有 LoRA/QLoRA 微调经验,这个仓库目前给不了你答案,应该先看专门做对话安全约束或医疗合规的产品。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 89 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

EmoLLM 想解决的是配置散落问题,不是模型能力问题

心理健康方向的对话微调,真正的门槛往往不在算法,而在把基座、微调方式、数据格式和推理脚本对齐。README 里那张表列了十几种组合:InternLM2_5_7B_chat 有全量微调和 QLoRA 两个版本,InternLM2_7B_base 用 QLoRA,Qwen1_5-0_5B-Chat 走全量微调,Baichuan2_13B_chat、ChatGLM3_6B、DeepSeek MoE_16B_chat、Mixtral 8x7B_instruct、LLaMA3_8B_instruct、Qwen2-7B-Instruct 各自对应一个 xtuner_config 目录下的 .py 文件。这种组织方式的含义很直接:项目把可复现的微调入口按基座和微调类型摊开,你不需要从零写训练脚本。目标读者是想做垂直领域对话微调、但不想自己搭训练框架的开发者。它不是给心理咨询师用的成品应用,也不是一套经过临床验证的干预系统。

xtuner_config 目录就是它的主干

从仓库结构看,微调逻辑集中在 xtuner_config/ 下,每个文件对应一个基座加一种微调策略,例如 internlm2_5_chat_7b_full.py 是全量微调,internlm2_5_chat_7b_qlora_oasst1_e3.py 是 QLoRA,llama3_8b_instruct_qlora_alpaca_e3_M_ruozhi_scM.py 从命名上能看出用了 alpaca 风格数据并带了自定义后缀。数据流是标准的指令微调链路:数据集按对话或指令格式组织,经 xtuner 转成训练样本,LoRA 或全量微调产出权重,再用推理脚本加载。README 同时提到 RAG、Evaluation 和 Depoly 环节,说明项目意图覆盖从微调到部署的整条链路,但具体实现细节需要进对应目录确认,本文无法从给出的材料判断各环节的完整度。

模型权重托管在 OpenXLab 和 ModelScope,不在仓库里

README 的表格里,只有部分配置给出了权重链接,指向 OpenXLab 或 ModelScope,例如 InternLM2_5_7B_chat 全量微调的产物在 openxlab.org.cn/models/detail/chg0901/EmoLLM_V3.0 和 modelscope.cn/models/chg0901/EmoLLMV3.0。这意味着仓库本身是配置与脚本的集合,权重是外部依赖。对使用者的直接后果是:能不能跑起来取决于对应平台的可访问性和下载速度,而不是 git clone 之后就能用。表格里还有若干行权重链接为空,比如 Qwen_7b_chat 的 QLoRA、Baichuan2_13B_chat 的 QLoRA、ChatGLM3_6B 的 LoRA,这些配置只提供脚本,产物需要自己训练。选基座之前先看清这一列,否则会卡在找不到权重上。

跑起来需要的命令与配置入口

按照 xtuner 的通用用法,训练入口是 xtuner train 加上配置文件路径,例如 xtuner train ./xtuner_config/internlm2_5_chat_7b_qlora_oasst1_e3.py。配置文件内部会指定基座模型路径、数据集路径、LoRA 或全量微调参数、批次大小与训练轮数。README 没有在给出的片段里展示完整的安装步骤和推理命令,所以安装依赖的具体版本、数据集下载方式、以及转换到 HuggingFace 格式的命令需要以仓库内文档为准。这里能确认的是配置文件的命名规律:基座名加微调类型加数据风格,看到 full 就是全量微调,看到 qlora 或 lora 就是低秩适配。这个命名约定本身降低了选错配置的概率。

心理健康场景的边界,仓库没有替你划定

这是最需要直说的一点。项目定位是理解用户、支持用户、帮助用户的心理健康辅导链路,但 README 里那段关于认知因素、情感因素、行为因素、社会环境、生理健康、心理韧性、预防干预、评估诊断工具的说明,是概念层面的罗列,不是对模型输出安全性的承诺。指令微调出来的对话模型,在遇到自伤、危机干预这类输入时会出现什么行为,取决于训练数据的构成和数量,而给出的材料里没有数据集规模、标注来源、审核流程或安全评测结果。如果你的场景涉及真实用户的心理状态判断,这个仓库目前不提供可验证的安全保证。把它当成研究或内部工具的起点是合理的,当成面向公众的咨询入口则需要额外做大量工作。

和通用微调框架比,它的差异在预设而非技术

EmoLLM 底层依赖 xtuner,这一点从配置文件命名和目录结构可以确认。所以它和直接用 xtuner 做微调的差别,不在训练技术上,而在预设:它替你选好了基座列表、微调策略和数据风格,并把心理健康方向的数据集与评测示例放在仓库里。反过来说,如果你已经有一套自己的数据处理流水线,或者需要非对话式的心理量表评估、结构化诊断辅助,那用通用微调框架加自建数据会更直接,EmoLLM 的预设反而会限制你。它的价值集中在省掉前期试错,而不是提供通用能力。

版本节奏与维护成本

发布记录显示 v0.4 在 2024 年 10 月,v0.5 在 2025 年 3 月,v0.6 在 2025 年 5 月,最近一次推送是 2026 年 6 月,仓库未归档。这个节奏说明项目仍在更新,但更新内容是否涉及配置文件的破坏性改动,从给出的材料无法判断。实际维护成本主要来自两处:一是基座模型迭代快,xtuner 与新基座的兼容性需要跟着升级;二是权重托管在外部平台,平台侧的变动会直接影响可用性。MIT 许可覆盖的是仓库代码,但 README 表格里那些数据集和第三方权重的许可需要单独确认,尤其是涉及商用或再分发时,代码许可不等于数据许可。

编辑结论

EmoLLM 适合已经会用 xtuner 或愿意照抄配置文件的团队,把它当成心理健康领域指令微调的起点:先确认你要的基座在 xtuner_config/ 下有对应脚本,再确认数据集的许可与来源,最后跑通一次推理验证输出风格。如果你的场景需要临床级可靠性、需要明确的失败兜底策略,或者团队没有 LoRA/QLoRA 微调经验,这个仓库目前给不了你答案,应该先看专门做对话安全约束或医疗合规的产品。上手前建议先核对三件事:目标基座是否在 README 的配置表里、对应权重在 OpenXLab 或 ModelScope 上是否可下载、MIT 许可与数据集许可是否覆盖你的商用场景。

官方来源

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. SmartFlowAI/EmoLLM on GitHub
社区笔记

社区笔记