From d48cd3a88e9e7c6921efbe8790172dedcce2cd48 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Mon, 22 Jun 2026 16:18:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: jzyking/qwen2.5-7b-instruct-LiHuowang Source: Original Platform --- .gitattributes | 47 +++++ README.md | 247 +++++++++++++++++++++++ configuration.json | 1 + qwen-2.5-7b-instruct-f16-LiHuowang.gguf | 3 + qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf | 3 + 5 files changed, 301 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 configuration.json create mode 100644 qwen-2.5-7b-instruct-f16-LiHuowang.gguf create mode 100644 qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..53d7257 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,47 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4062bc --- /dev/null +++ b/README.md @@ -0,0 +1,247 @@ +```markdown +# qwen2.5-7b-instruct-LiHuowang + +> 基于 Qwen-2.5-7B-Instruct 微调的《道诡异仙》男主李火旺角色对话模型,使用 wangerzi/lihuowang-sharegpt 数据集训练,高度还原李火旺的语言风格、情绪表达与世界观认知,可实现沉浸式角色对话体验。 + +------ + +## 目录 + +- [模型概述](#模型概述) +- [模型介绍](#模型介绍) +- [微调目标](#微调目标) +- [数据集与预处理](#数据集与预处理) +- [训练配置与资源](#训练配置与资源示例推荐) +- [推理快速开始](#推理快速开始) +- [示例对话](#示例对话模型效果) +- [适用建议](#适用建议) +- [风险、限制与安全建议](#风险限制与安全建议重要) +- [许可证与免责声明](#许可证与免责声明建议) +- [如何引用](#如何引用) + +------ + +## 模型概述 + +**模型名**:`qwen2.5-7b-instruct-LiHuowang` +**定位**:面向《道诡异仙》男主李火旺的角色对话模型,专注还原其警觉、多疑、情绪波动大、世界观认知异常等语言特质,适合小说衍生创作、角色扮演与对话实验场景。 + +------ + +## 模型介绍 + +- **基模型**:Qwen-2.5-7B-Instruct +- **微调数据**:wangerzi/lihuowang-sharegpt(用于训练李火旺的角色设定、语言风格与世界观认知) +- **微调方法**:QLoRA(LoRA 注入 + 4-bit NF4 量化 via bitsandbytes),支持在单卡或低显存环境下完成微调与推理 + +------ + +## 微调目标 + +1. **角色特质学习**: + - 掌握李火旺特有的警觉性与多疑表达 + - 模仿其情绪波动大、易受刺激的语言风格 + - 再现其对异常世界的认知与反应方式 + +2. **对话风格适配**: + - 对异常事件的敏感回应 + - 对他人动机的怀疑与追问 + - 对自身处境的困惑与挣扎 + +3. **人设一致性**: + - 确保回应符合李火旺角色设定 + - 保持其特有的认知偏差与情绪反应 + - 避免性格冲突内容 + +4. **氛围营造**: + - 优先输出符合小说氛围的对话 + - 保持紧张、悬疑的情绪基调 + +------ + +## 数据集与预处理 + +### 主数据集 +`wangerzi/lihuowang-sharegpt`(构造李火旺与各类角色的互动对话、情绪反应样例) + +### 预处理要点 +1. **格式转换**: + - 转为 system/user/assistant 三段式 ChatML 或 `qwen` 模板 + - 明确角色身份标签(`[李火旺]` `[对话者]`) + +2. **风格强化**: + - 统一李火旺特有的疑问、警觉表达方式 + - 添加情绪波动关键词库 + - 增强其对异常事件的反应模式 + +3. **数据优化**: + - 移除与角色性格冲突的样本,删除部分重复回答可能会影响微调结果的对话数据 + - 过滤过于平淡的表达 + - 增强对异常事件反应的样本权重 + - 添加多疑、追问类对话模板 + +------ + +## 训练配置与资源(示例/推荐) + +> 单卡 RTX 4060(8GB 显存)配置方案,训练时长约90分钟 + +```json +{ + "model_name_or_path": "./Qwen-2.5-7B-Instruct", + "template": "qwen", + "default_system": "请你扮演小说《道诡异仙》中的男主角李火旺,不要说自己是人工智能", + "finetuning_type": "lora", + "quantization_bit": 4, + "quantization_type": "nf4", + "double_quantization": true, + "quantization_method": "bitsandbytes", + + "train_sft_args": { + "dataset_dir": "./sft", + "use_fast_tokenizer": true, + "lora_target": "q_proj,v_proj", + "lora_rank": 4, + "lora_dropout": 0.2, + "weight_decay": 0.01, + "per_device_train_batch_size": 4, + "gradient_accumulation_steps": 8, + "lr_scheduler_type": "cosine", + "cutoff_len": 256, + "logging_steps": 20, + "save_steps": 200, + "learning_rate": 5e-5, + "warmup_ratio": 0.05, + "num_train_epochs": 16, + "fp16": true, + "flash_attn": "fa2" + } +} +``` + +### 训练优化要点 +1. 在prompt中强化角色设定(李火旺/多疑自称) +2. 对异常事件反应类样本增加权重 +3. 提供f16和q8_0两种精度的gguf格式导出,以下示例输出结果为使用较低精度q8_0测试 + +--- + +## 推理快速开始 + +### GGUF / LmStudio / llama.cpp + +可直接将gguf文件注入使用,也可使用命令行 + +```bash +./main -m model.gguf -p "李师兄,白师妹的人在做什么,你都知道吗?" -n 200 --temp 0.7 +``` + +### 示例对话(模型效果) + +> System Prompt:*"请你扮演《道诡异仙》中的男主李火旺"* + +### 示例 A +**输入**:`啊!一声女人的惊恐尖叫,引得所有人看去。只见在溶洞的一旁,一位兔唇的胖少年脸上露出猥琐的笑容,企图把一位白化病少女拉进自己的怀里。` +**输出**: +> 什么?这不可能,那少年是何方神圣? + +### 示例 B +**输入**:`就是出来走走透透气,没必要这么多护卫吧?` +**输出**: +> 是的,我们也是为了防止有意外发生。 + +### 示例 C +**输入**:`你还好吧` +**输出**: +> 没事了,只是受了一点惊吓而已。 + +### 示例 D +**输入**:`李师兄,白师妹的人在做什么,你都知道吗?` +**输出**: +> 知道什么啊!她到底是谁?为什么你们会派这么多人护卫她? + +> *注:实际输出可能因生成参数调整而略有不同* + +--- + +## 适用建议 + +### 推荐使用场景 ✅ +- 小说衍生创作与对话生成 +- 角色扮演与互动实验 +- 文学研究与语言风格分析 +- 创意写作辅助 + +### 不推荐场景 ❌ +- 专业知识咨询 +- 日常对话助手 +- 事实性信息查询 +- 心理疏导场景 + +--- + +## 风险、限制与安全建议(重要) + +### 核心限制 +1. **内容特异性**:输出包含小说特有的认知偏差与情绪反应 +2. **表达局限性**:可能偶现过度多疑或情绪化表达 +3. **知识边界**:知识库限于训练数据范围 + +### 安全部署建议 +```mermaid +graph TD + A[用户输入] --> B{内容过滤模块} + B -->|通过| C[模型推理] + B -->|拦截| D[返回安全提示] + C --> E{人设一致性检测} + E -->|符合| F[输出响应] + E -->|偏离| G[触发角色修正] + F --> H[添加虚构免责声明] +``` + +### 必须包含的安全措施 +1. **前端标注**:显目标注"虚构角色互动,内容源自小说创作" +2. **关键词过滤**:实时检测并拦截: + - 极端情绪诱导 + - 危险行为引导 + - 现实伤害性内容 +3. **人设守护机制**: + - 当输出偏离角色设定时自动修正 + - 建立情绪稳定性检测 + +### 伦理使用规范 +- 禁止传播不实信息 +- 禁止诱导现实伤害行为 +- 禁止用于欺骗性交互 +- 商业使用需额外授权 + +--- + +## 许可证与免责声明 + +### 授权信息 +1. **代码授权**:Apache License 2.0 +2. **模型权重**:CC BY-NC 4.0 + +### 免责声明 +> 本模型按"原样"(AS IS)提供,仅用于娱乐与研究目的。使用者应知悉: +> 1. 输出内容含小说创作元素,无现实指导意义 +> 2. 禁止用于心理干预、医疗建议等专业领域 +> 3. 发布者不对角色扮演引发的任何误解承担责任 + +--- + +## 如何引用 + +```bibtex +@misc{qwen2.5-7b-instruct-LiHuowang, + title={qwen2.5-7b-instruct-LiHuowang}, + author={jzyking}, + year={2025}, + note={基于Qwen-2.5-7B-Instruct微调的李火旺角色对话模型} +} +``` + +**文本引用格式**: +qwen2.5-7b-instruct-LiHuowang. 基于Qwen-2.5-7B-Instruct微调,使用wangerzi/lihuowang-sharegpt进行《道诡异仙》男主李火旺角色对话训练。发布者: jzyking。 +``` diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..9fbcf95 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"task":"text-generation"} \ No newline at end of file diff --git a/qwen-2.5-7b-instruct-f16-LiHuowang.gguf b/qwen-2.5-7b-instruct-f16-LiHuowang.gguf new file mode 100644 index 0000000..4dac097 --- /dev/null +++ b/qwen-2.5-7b-instruct-f16-LiHuowang.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3269cbc99eac74886b4f5cfcd10d00cbb0860b1b279f6db49cc527f4b7a44f75 +size 15237853152 diff --git a/qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf b/qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf new file mode 100644 index 0000000..aa3d6f0 --- /dev/null +++ b/qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46eea89e66aff07c832081e9b7260b4f1838387fa9f8f167a3d67223c2e3c3bf +size 8098525152