这里先使用ollama本地部署了deepseek-r1:7b模型。
1、先创建一个名为Modelfile的文件,参考:
(1)官方文档
https://github.com/ollama/ollama/blob/main/docs/modelfile.md
(2)deepseek-r1:7b的template
https://ollama.com/library/deepseek-r1:7b/blobs/369ca498f347
2、按照官方文档和template的格式,Modelfile文件写入以下内容(其中D:\...\blobs\sha256-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx为deepseek-r1:7b模型的存储路径):
FROM D:\...\blobs\sha256-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TEMPLATE """{{- if .System }}{{ .System }}{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1}}
{{- if eq .Role "user" }}<|User|>{{ .Content }}
{{- else if eq .Role "assistant" }}<|Assistant|>{{ .Content }}{{- if not $last }}<|end▁of▁sentence|>{{- end }}
{{- end }}
{{- if and $last (ne .Role "assistant") }}<|Assistant|>
<think>
好的,我会直接输出内容,回答用户的问题,不需要思考
</think>
{{- end }}
{{- end }}
"""
3、运行命令:
ollama create choose-a-model-name -f <location of the file e.g. ./Modelfile>
注:
(1)choose-a-model-name为自己命名的模型名字,这里命名为deepseek-r1:7b-nothink
(2)<location of the file e.g. ./Modelfile>为Modelfile文件的路径
4、运行命令:
ollama run deepseek-r1:7b-nothink
这时对模型提问,会直接输出回答,不会输出思考的内容
(注意:使用这种方法大模型还是会有概率输出思考的内容)