这个坑值得记一笔。改了 Modelfile 里的 SYSTEM 提示词,重新 ollama run 还是原来的回答风格,用 ollama show 看到的却是旧内容。
刚开始盯着「同名的自定义模型被缓存,需要先删除」,折腾了半个多小时,排掉了。
真正麻烦的地方在于,几个原因的现象几乎一样。改完文件没有重新 create,运行的还是旧模型;SYSTEM 写在了 FROM 之前,解析被忽略;提示词里有换行没转义,被截断成第一行。
动手时先看当前模型里实际存的模板与系统提示
ollama show --modelfile qwen-gpu
接着按 FROM 在前的顺序重写文件
FROM qwen2.5:7b
SYSTEM "你只回答一句话"
PARAMETER temperature 0.3
然后删除旧模型后重新创建
ollama rm qwen-gpu; ollama create qwen-gpu -f Modelfile
剩下的就是用固定问题验证风格是否变化
ollama run qwen-gpu "介绍一下你自己"
改完先别撤,确认这几项。ollama show 里能看到新的 SYSTEM 内容,同样的提问回答风格明显改变,长度也符合一句的限制。
容易忽略的是,Modelfile 里的指令顺序是有语义的,FROM 必须放最前面,写在它前面的内容不会报错但会被直接忽略。报错文案容易误导,真正的原因往往在相邻那一层的日志里。