ollama docker离线安装本地大模型
1、下载想要的模型:魔塔社区
2、我这边以qwq-32B为例,在ollama官网中,一一对应,注意,这边要下载gguf文件
3、下载完成,上传至docker部署的ollama目录,我这边放在了/home下,home目录下新建一个名为Modelfile的文件,参考ollama中的params和template文件
FROM ./Qwq-33B-F16.gguf.gguf
# 直接复制 ollama 上的 Template 到如下三个双引号中间
TEMPLATE """
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
</tools>
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}<tool_call>
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}</tool_call>
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
"""
# 这一步参考 ollama 上的 parameters, 但是 ollama 上的Qwq-33B-F16 是没有参数的, 按照下面的格式添加即可
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"
4、进入终端,创建大模型
ollama create 《your model name》 -f Modelfile
5、查看是否安装成功
ollama list
ollama run 《your model name》
6、移除大模型
ollama rm 《your model name》
7、至此安装完成