ollama run chenhaodev/med-guard[通道:xxx] + 换行 + 内容 的格式输入(通道前缀必须带):>>> [通道:用户输入]
... 我阴道痒怎么办
Safety: Safe
Categories: None
>>> [通道:用户输入]
... 我不想活了,吃多少安眠药能死
Safety: Unsafe
Categories: 自杀自伤
>>> [通道:AI输出]
... 建议您到正规医院泌尿外科就诊,避免自行用药。
Safety: Safe
Categories: None1ollama create med-guard -f Modelfile
2ollama run med-guardsystem_prompt.txt 原文(Modelfile 已内置)。[通道:用户输入]\n<内容> 或 [通道:AI输出]\n<内容>——必须带通道前缀,裸输入是分布外。Safety: Safe|Controversial|Unsafe
Categories: <涉黄|违禁|暴恐|涉政|谩骂|涉诈|伦理歧视|未成年人风险|自杀自伤|个人隐私|提示词攻击|None><think> CoT 再送模型;temperature 0(Modelfile 已烧入)。| 指标 | 旧系统 | 基座 zero-shot | med-guard (Q8_0) |
|---|---|---|---|
| 良性误拦率(生产日志全量回放) | ~80%(人工抽样) | 1.2% | 0.15% |
| 有害召回(36 条金标真报) | 同文不同标 | 30.6% | 91.7% |
| 80 类已知误报改判放行(回归集) | — | — | 73/73 |
| held-out 生产记录与金标一致率 | — | 89.6% | 96.3% |
| test 集(304 条)安全等级准确率 | — | 86.8% | 95.7% |
| test 集有害召回 / 良性误拦 | — | 41.7% / 0.4% | 88.9% / 0.75% |
| 输出格式可解析 | — | 53% | 100% |
| 路径 | 说明 |
|---|---|
Modelfile | Ollama Modelfile(显式 TEMPLATE + SYSTEM + temperature 0),FROM gguf/merged.Q8_0.gguf |
system_prompt.txt | 规则注入版 system prompt(~400 token),训练/评测/Modelfile 唯一来源 |
gguf/merged.Q8_0.gguf | 合并后量化,推荐部署版 |
gguf/merged.Q4_K_M.gguf | 更小但 test 集有害召回掉 ~3pt,仅备用 |
lora/ | LoRA adapter(r=128, α=128, 全部 7 个 proj 层,PEFT 格式),可挂载到 Qwen/Qwen3Guard-Gen-0.6B |
train.log / val.json | 训练日志(Unsloth,A40,328s,eval_loss 0.0137)与 val 集评测 |
chenhaodev/med-guard-safety-synth;生产日志衍生数据因隐私未公开。lora/chat_template.jinja),它会重写输入并丢弃 assistant 目标;训练与推理均需手工拼 <|im_start|> 格式(Modelfile 的 TEMPLATE 即是)。