1.背景和问题

huggingface上下载的gguf一般不能直接被ollama启动,需要编写Modelfile文件,再由ollama组装后,ollama才能启动这样的大模型。当然ollama本身就可以直接一键下载并启动大模型。
以qwen3.5为例,ollama一键下载的,在ollama的GUI界面几乎都有个“上网按钮”。但是我自行下载的gguf,加手写的Modelfile,组装后,ollama处就没有“上网按钮”。

2.解法

Modelfile参考下文编写即可

FROM ./Qwen3.5-9B-IQ4_XS.gguf
# 增强型模板,加入了 [AVAILABLE_TOOLS] 和 [TOOL_CALLS] 逻辑
TEMPLATE """{{ if .System }}<|im_start|>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 }}
{{ . }}
{{ 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|>
{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ if .Messages }}
{{- range $index, $_ := .Messages }}
{{- if eq .Role "assistant" -}}
<|im_start|>assistant
{{ if .Content }}{{ .Content }}{{ end }}
{{- if .ToolCalls }}
<tool_call>
{{ range .ToolCalls }}
{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}
</tool_call>
{{- end }}<|im_end|>
{{- else if eq .Role "user" -}}
<|im_start|>user
{{ .Content }}<|im_end|>
{{- else if eq .Role "tool" -}}
<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{- end }}
{{- end }}
{{- end }}<|im_start|>assistant
{{ .Response }}<|im_end|>"""

3.原理

3.1能否上网,本质上在于大模型当初在训练时,是否训练了tool的能力

qwen3.5猜测都是具备了的,无论参数是100B还是2B。所以ollama上我自动下载的很多qwen3.5的子型号,都是有上网按钮的。

3.2 Modelfile要声明大模型具备这种能力

例如,查看这个从ollama下载的大模型的信息:

ollama show qwen3.5:2b-bf16

  Model
    architecture        qwen35
    parameters          2.3B
    context length      262144
    embedding length    2048
    quantization        F16
    requires            0.17.1

  Capabilities
    completion
    vision
    tools
    thinking

  Parameters
    presence_penalty    1.5
    temperature         1
    top_k               20
    top_p               0.95

  License
    Apache License
    Version 2.0, January 2004

关键就在于这里的字段

  Capabilities
    completion
    vision
    tools
    thinking

4.经验

这个问题,qwen3.5-plus,豆包思考,kimi2.5都不能准确地回答,它们基本都认为是网络环境问题。
智谱GLM5可以认识到关键在于tool,但是他思考太慢了,就没继续询问它。
chatgpt基本都能答出来,但是最后的Modelfile还是没有给对,没有写出关键的tools字段
gemini给了解决问题的Modelfile,即上文的。
吐槽一下trae调用qwen3.5-plus,给它两天的时间,还是没搞定这个问题,它倒是坚持认为我下载的gguf模型不具备tool能力。
这里有很多Modelfile可以参考github.com/sammcj/llm-templates/blob/main/Modelfile-qwen2.5-coder

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐