# Unsloth 导出 GGUF：保留聊天模板和停止词，对照导出前后的多轮回答

已审计原创GGUF导出合同与多轮测试资产；未加载模型、导出GGUF或推理，未提供任何伪模型二进制。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 记录自有微调模型与原模板

source_model必须由用户提供真实目录，保存tokenizer、chat_template和EOS/停止词。包内没有伪造GGUF文件或模型权重。

## 2. 审计导出合同缺项

audit.py要求模板标识和停止词非空；unknown-default负例会改变多轮边界。字段齐全仍不证明模型能正常导出。

## 3. 使用Unsloth官方GGUF导出入口

在支持环境加载真实训练模型并调用save_pretrained_gguf或相应官方方法，记录版本、量化方式、工具链和完整错误。

## 4. 核对生成文件和元信息

检查真实GGUF大小、哈希与tokenizer元数据，不用几字节假头文件冒充模型。输出目录放容量足够的外盘。

## 5. 分别运行导出前后多轮案例

T1第二问必须保留前文Q7，用相同消息和采样测试源模型与目标GGUF runner。独立单轮成功不能证明模板正确。

## 6. 检查重复与停不下来反例

记录角色串位、回复包含下一轮标签、超长不停止等问题，核对runner模板和stop设置。不要通过随意截字符串掩盖EOS问题。

## 7. 交付导出日志与多轮对照

包内提供导出脚本与测试数据，未执行Unsloth导出或推理。只有真实文件、元信息和配对答案齐备才算导出验收。

## 官方依据

- Unsloth 官方文档或源码：https://unsloth.ai/docs/basics/inference-and-deployment/saving-to-gguf.md
