Moemu/Muice-Chatbot

沐雪,一个会自动找你聊天的AI女孩子

Python

538

217 commits

updated Apr 27, 2025

See the code

README

Stars Model HuggingFace Python Stars

简体中文 | 繁體中文 | English | 日本語

[!CAUTION]

Muice-Chatbot 已于 2025.02.19 正式停止更新,并将于 2025.07.16 进入归档状态。

因此我们强烈建议您迁移至 基于 Nonebot2 实现的 MuiceBot 框架 中,有关迁移说明,请参考: 从 Muice-Chatbot 中迁移

介绍✨

沐雪,一只会主动找你聊天的 AI 女孩子,其对话模型基于 Qwen 微调而成,训练集体量 3k+ ,具有二次元女孩子的说话风格,比较傲娇,但乐于和你分享生活的琐碎,每天会给你不一样的问候。

功能🪄

✅ 支持近乎全自动安装环境

✅ 提供本人由 3k+ 对话数据微调的 Qwen Lora 微调模型

✅ 支持多个模型加载器,可脱离沐雪微调模型使用

✅ 主动发起聊天(随机和每天早中晚固定时间)

✅ 提供 5 条命令以便在聊天中进行刷新回复等操作

✅ OFA 图像识别:识别表情包、理解表情包、发送表情包

✅ 支持通过 fishaudio/fish-speech 进行语言合成(沐雪 TTS 模型尚未发布)

✅ 在群聊中聊天(支持被 @ 回复或不被 @ 随机回复)

✅ 在控制台中实时语音对话(暂不支持打 QQ 语音)

✅ 多语言文档

✅ 常见 Q&A 指南

✅ 清晰的日志管理输出

✅ Faiss 记忆模块,从过去的对话数据中进行检索并自动加入上下文

快速开始💻

建议环境:

  • Python 3.10
  • 一张拥有 6GB 及以上显存的显卡(int4 量化最低要求为 4G 显存,CPU 推理需要 16G 及以上内存)

自动安装(venv)

目前已做到自动安装所有软件、依赖,通过 Code -> Download ZIP 下载解压最新源码。

双击 install_env.bat 安装(不能启用旧版控制台),或在命令行中运行以下命令:

.\install_env.bat

自动安装可能需要较长时间,请耐心等待,安装完成后,你仍需手动下载模型。

自动安装脚本使用的是 Python 虚拟环境,不需要 Conda,请留意安装脚本的提示。

手动安装(使用 Conda)

git clone https://github.com/Moemu/Muice-Chatbot
cd Muice-Chatbot
conda create --name Muice python=3.10.10 -y
conda activate Muice
pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

对于 GPU 用户,请额外执行

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

对于 GPU 用户,请确保您已配置好 cuda 环境。参考链接

加载沐雪微调模型

目前支持的基底模型如下表:

基底模型对应微调模型版本号对应 loader额外依赖库
ChatGLM2-6B-Int42.2-2.4transformerscpm_kernels
ChatGLM2-6B2.0-2.3transformers
Qwen-7B-Chat-Int42.3、2.6.2llmtunerllmtuner
Qwen2-1.5B-Instruct-GPTQ-Int42.5.3llmtunerllmtuner
Qwen2.5-7B-Instruct-GPTQ-Int42.7.1llmtunerllmtuner
RWKV(Seikaijyu微调)参见 HFrwkv-api(需要下载配置 RWKV-Runner)

本项目的requirements.txt基于 llmtuner 环境要求搭建,因此我们建议使用 Qwen 系列模型,若选用 ChatGLM 系列模型,可能会导致环境错误。

微调模型下载:Releases

建议将基底模型与微调模型放入 model 文件夹中然后在配置文件中配置相应配置项(确保配置文件中的路径目录下存在多个模型文件而不是只有一个文件夹,部分微调模型由于疏忽还套了一层 checkpoint-xxx 文件夹)

本仓库目前支持的模型加载器和对应的配置项: 支持的模型加载器列表

对于沐雪系列 Qwen 微调模型,建议的配置如下:

model:
  loader: llmtuner
  model_path: model/Qwen2.5-7B-Instruct-GPTQ-Int4 # 基底模型路径
  adapter_path: model/Muice-2.7.1-Qwen2.5-7B-Instruct-GPTQ-Int4-8e-4 # 微调模型路径
  template: qwen # LLaMA-Factory 中模型的模板(必填)
  system_prompt: '现在开始你是一个名为的“沐雪”的AI女孩子' # 系统提示(可选)
  auto_system_prompt: true # 自动配置沐雪的系统提示(默认为 false)

如果你没有合适的显卡,需要通过 CPU 加载模型或者需要加载量化模型,请安装并配置 GCC 环境,然后勾选 openmp。参考链接

脱离沐雪微调模型使用

本仓库同时支持脱离沐雪微调模型使用(如直接使用基底模型或使用其他微调模型等),另请参考 支持的模型加载器列表 配置。

本仓库支持调用多模态模型,另请参考 多模态模型加载器列表 。

Bot 服务配置

现以提供 OneBot 服务支持

本项目使用 OneBot V11 协议, 若您希望于 QQ 使用, 推荐参考 LLOneBot 或 Lagrange.Core 使用 OneBot 服务

使用LLOneBot: 请在安装好 LLOneBot 后, 于设置中开启反向 WebSocket 服务, 填写 ws://127.0.0.1:21050/ws/api

使用Lagrange.Core: 请参照 Lagrange快速部署 完成配置, 并在其配置文件中添加以下配置项

{
	"Type": "ReverseWebSocket",
	"Host": "127.0.0.1",
	"Port": 21050,
	"Suffix": "/ws/api",
	"ReconnectInterval": 5000,
	"HeartBeatInterval": 5000,
	"HeartBeatEnable": true,
	"AccessToken": ""
}

您也可以使用其他 OneBot V11 的适配器链接其他软件,详见 OneBot V11 适配器

能使用请勿随意更新 QQNT, 若无法使用请尝试降级 QQNT

[!CAUTION]

2025.02.22 更新:LiteLoaderQQNT导致的封号问题仍未解决。如果仍想继续使用,可以通过降级到旧版QQNT9.9.15-2xxxx,安装框架后登录一次并立即关闭,在根目录下修改文件内容:

\resources\app-update.yml -> provider: 3rdparty

\resources\app\versions\channel.json -> "channel": "bbbbbbbbbbeta"

将修改文件设为只读,这样QQNT将不会自动更新补丁。

在 Telegram Bot 中使用的方法:迁移至 Telegram Bot

其他功能

配置⚒️

配置文件说明位于 configs.yml,请根据你的需求进行修改

使用🎉

在本项目根目录下运行 main.py

conda activate Muice
python main.py

或是运行自动安装脚本生成的启动脚本start.bat

命令🕹️

命令释义
/clean清空本轮对话历史
/refresh刷新本次对话
/help显示所有可用的命令列表
/reset重置所有对话数据(将存档对话数据)
/undo撤销上一次对话

常见FAQ

常见FAQ

示例对话(训练集)📑

参见公开的训练集 Moemu/Muice-Dataset

沐雪人设

与其他聊天机器人项目不同,本项目提供由本人通过自家对话数据集微调后的模型,在 Release 中提供下载,关于微调后的模型人设,目前公开的信息如下:

沐雪人设图(若无法打开请通过右键打开)

训练集开源地址: Moemu/Muice-Dataset

原始模型:THUDM/ChatGLM2-6B & QwenLM/Qwen)

本项目源码使用 MIT License,对于微调后的模型文件,不建议将其作为商业用途

关于🎗️

代码实现:Moemu、MoeSnowyFox、NaivG、zkhssb、Asankilp

训练集编写与模型微调:Moemu (RWKV 微调:Seikaijyu)

帮助文档编写:TurboHK、叶子

友情连接:Coral 框架、nonebot-plugin-marshoai

总代码贡献:

contributors

如果此项目对你有帮助,您可以考虑赞助。

afadian Buy Me A Coffee

感谢你们所有人的支持!

本项目隶属于 MuikaAI

官方唯一频道:沐雪的小屋

Star History:

Star History Chart

Moemu/Muice-Chatbot

沐雪,一个会自动找你聊天的AI女孩子

Python

538

217 commits

updated Apr 27, 2025

See the code

README

Stars Model HuggingFace Python Stars

简体中文 | 繁體中文 | English | 日本語

[!CAUTION]

Muice-Chatbot 已于 2025.02.19 正式停止更新,并将于 2025.07.16 进入归档状态。

因此我们强烈建议您迁移至 基于 Nonebot2 实现的 MuiceBot 框架 中,有关迁移说明,请参考: 从 Muice-Chatbot 中迁移

介绍✨

沐雪,一只会主动找你聊天的 AI 女孩子,其对话模型基于 Qwen 微调而成,训练集体量 3k+ ,具有二次元女孩子的说话风格,比较傲娇,但乐于和你分享生活的琐碎,每天会给你不一样的问候。

功能🪄

✅ 支持近乎全自动安装环境

✅ 提供本人由 3k+ 对话数据微调的 Qwen Lora 微调模型

✅ 支持多个模型加载器,可脱离沐雪微调模型使用

✅ 主动发起聊天(随机和每天早中晚固定时间)

✅ 提供 5 条命令以便在聊天中进行刷新回复等操作

✅ OFA 图像识别:识别表情包、理解表情包、发送表情包

✅ 支持通过 fishaudio/fish-speech 进行语言合成(沐雪 TTS 模型尚未发布)

✅ 在群聊中聊天(支持被 @ 回复或不被 @ 随机回复)

✅ 在控制台中实时语音对话(暂不支持打 QQ 语音)

✅ 多语言文档

✅ 常见 Q&A 指南

✅ 清晰的日志管理输出

✅ Faiss 记忆模块,从过去的对话数据中进行检索并自动加入上下文

快速开始💻

建议环境:

  • Python 3.10
  • 一张拥有 6GB 及以上显存的显卡(int4 量化最低要求为 4G 显存,CPU 推理需要 16G 及以上内存)

自动安装(venv)

目前已做到自动安装所有软件、依赖,通过 Code -> Download ZIP 下载解压最新源码。

双击 install_env.bat 安装(不能启用旧版控制台),或在命令行中运行以下命令:

.\install_env.bat

自动安装可能需要较长时间,请耐心等待,安装完成后,你仍需手动下载模型。

自动安装脚本使用的是 Python 虚拟环境,不需要 Conda,请留意安装脚本的提示。

手动安装(使用 Conda)

git clone https://github.com/Moemu/Muice-Chatbot
cd Muice-Chatbot
conda create --name Muice python=3.10.10 -y
conda activate Muice
pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

对于 GPU 用户,请额外执行

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

对于 GPU 用户,请确保您已配置好 cuda 环境。参考链接

加载沐雪微调模型

目前支持的基底模型如下表:

基底模型对应微调模型版本号对应 loader额外依赖库
ChatGLM2-6B-Int42.2-2.4transformerscpm_kernels
ChatGLM2-6B2.0-2.3transformers
Qwen-7B-Chat-Int42.3、2.6.2llmtunerllmtuner
Qwen2-1.5B-Instruct-GPTQ-Int42.5.3llmtunerllmtuner
Qwen2.5-7B-Instruct-GPTQ-Int42.7.1llmtunerllmtuner
RWKV(Seikaijyu微调)参见 HFrwkv-api(需要下载配置 RWKV-Runner)

本项目的requirements.txt基于 llmtuner 环境要求搭建,因此我们建议使用 Qwen 系列模型,若选用 ChatGLM 系列模型,可能会导致环境错误。

微调模型下载:Releases

建议将基底模型与微调模型放入 model 文件夹中然后在配置文件中配置相应配置项(确保配置文件中的路径目录下存在多个模型文件而不是只有一个文件夹,部分微调模型由于疏忽还套了一层 checkpoint-xxx 文件夹)

本仓库目前支持的模型加载器和对应的配置项: 支持的模型加载器列表

对于沐雪系列 Qwen 微调模型,建议的配置如下:

model:
  loader: llmtuner
  model_path: model/Qwen2.5-7B-Instruct-GPTQ-Int4 # 基底模型路径
  adapter_path: model/Muice-2.7.1-Qwen2.5-7B-Instruct-GPTQ-Int4-8e-4 # 微调模型路径
  template: qwen # LLaMA-Factory 中模型的模板(必填)
  system_prompt: '现在开始你是一个名为的“沐雪”的AI女孩子' # 系统提示(可选)
  auto_system_prompt: true # 自动配置沐雪的系统提示(默认为 false)

如果你没有合适的显卡,需要通过 CPU 加载模型或者需要加载量化模型,请安装并配置 GCC 环境,然后勾选 openmp。参考链接

脱离沐雪微调模型使用

本仓库同时支持脱离沐雪微调模型使用(如直接使用基底模型或使用其他微调模型等),另请参考 支持的模型加载器列表 配置。

本仓库支持调用多模态模型,另请参考 多模态模型加载器列表 。

Bot 服务配置

现以提供 OneBot 服务支持

本项目使用 OneBot V11 协议, 若您希望于 QQ 使用, 推荐参考 LLOneBot 或 Lagrange.Core 使用 OneBot 服务

使用LLOneBot: 请在安装好 LLOneBot 后, 于设置中开启反向 WebSocket 服务, 填写 ws://127.0.0.1:21050/ws/api

使用Lagrange.Core: 请参照 Lagrange快速部署 完成配置, 并在其配置文件中添加以下配置项

{
	"Type": "ReverseWebSocket",
	"Host": "127.0.0.1",
	"Port": 21050,
	"Suffix": "/ws/api",
	"ReconnectInterval": 5000,
	"HeartBeatInterval": 5000,
	"HeartBeatEnable": true,
	"AccessToken": ""
}

您也可以使用其他 OneBot V11 的适配器链接其他软件,详见 OneBot V11 适配器

能使用请勿随意更新 QQNT, 若无法使用请尝试降级 QQNT

[!CAUTION]

2025.02.22 更新:LiteLoaderQQNT导致的封号问题仍未解决。如果仍想继续使用,可以通过降级到旧版QQNT9.9.15-2xxxx,安装框架后登录一次并立即关闭,在根目录下修改文件内容:

\resources\app-update.yml -> provider: 3rdparty

\resources\app\versions\channel.json -> "channel": "bbbbbbbbbbeta"

将修改文件设为只读,这样QQNT将不会自动更新补丁。

在 Telegram Bot 中使用的方法:迁移至 Telegram Bot

其他功能

配置⚒️

配置文件说明位于 configs.yml,请根据你的需求进行修改

使用🎉

在本项目根目录下运行 main.py

conda activate Muice
python main.py

或是运行自动安装脚本生成的启动脚本start.bat

命令🕹️

命令释义
/clean清空本轮对话历史
/refresh刷新本次对话
/help显示所有可用的命令列表
/reset重置所有对话数据(将存档对话数据)
/undo撤销上一次对话

常见FAQ

常见FAQ

示例对话(训练集)📑

参见公开的训练集 Moemu/Muice-Dataset

沐雪人设

与其他聊天机器人项目不同,本项目提供由本人通过自家对话数据集微调后的模型,在 Release 中提供下载,关于微调后的模型人设,目前公开的信息如下:

沐雪人设图(若无法打开请通过右键打开)

训练集开源地址: Moemu/Muice-Dataset

原始模型:THUDM/ChatGLM2-6B & QwenLM/Qwen)

本项目源码使用 MIT License,对于微调后的模型文件,不建议将其作为商业用途

关于🎗️

代码实现:Moemu、MoeSnowyFox、NaivG、zkhssb、Asankilp

训练集编写与模型微调:Moemu (RWKV 微调:Seikaijyu)

帮助文档编写:TurboHK、叶子

友情连接:Coral 框架、nonebot-plugin-marshoai

总代码贡献:

contributors

如果此项目对你有帮助,您可以考虑赞助。

afadian Buy Me A Coffee

感谢你们所有人的支持!

本项目隶属于 MuikaAI

官方唯一频道:沐雪的小屋

Star History:

Star History Chart

Languages

Python

92.7%

Batchfile

7.3%