目录

Ollama Modelfile 教程:打造自己的定制模型

Modelfile 是 Ollama 的模型配置文件,概念和 Dockerfile 很像:以一个现有模型为基础,加上自己的系统提示词和参数,打包成一个新的模型名称。

第一个 Modelfile:中文助手

创建一个名为 Modelfile 的纯文本文件:

FROM qwen3:8b

SYSTEM """
你是一位专业又亲切的助手。
- 一律使用中国大陆常用的简体中文和表达方式回答。
- 回答要精简,先给结论,再补充说明。
- 不确定的事情要直接说不确定,不要编造。
"""

PARAMETER temperature 0.6
PARAMETER num_ctx 8192

创建并运行:

ollama create tw-assistant -f ./Modelfile
ollama run tw-assistant

tw-assistant 会出现在 ollama list 中,API 和其他工具也都可以直接使用这个名称。创建新模型不会复制原模型的权重文件,几乎不占用额外空间。

指令说明

指令必需说明
FROM✓基础模型,可以是模型名称或本地 GGUF / safetensors 文件
SYSTEM系统提示词
PARAMETER推理参数
MESSAGE预置的对话示例
TEMPLATE提示词模板(通常沿用基础模型的,不需要修改)
LICENSE许可条款

多行文本用 """ 包起来。

常用参数

参数说明建议
temperature随机程度。越低越稳定,越高越有创意事实问答 0.2~0.5;创作 0.8~1.0
num_ctx上下文长度(token),决定模型能“记住”多少内容长文档摘要时调大,但会增加内存用量
top_p只从累积概率前 p 的字中挑选通常保持默认值
top_k只从概率最高的 k 个字中挑选通常保持默认值
repeat_penalty降低重复内容的概率回答不断重复时调高到 1.1
num_predict最多生成多少 token,-1 表示不限制需要控制长度时设置
stop遇到这段文本就停止生成可以设置多个
seed随机种子,固定后相同的输入会得到相同输出测试时使用

基础模型本身可能已经设置了一些参数(例如建议的 temperature),可以用 ollama show 模型 --parameters 查看。你在 Modelfile 中设置的值会覆盖这些参数。

用 MESSAGE 提供示例

示例对话能有效地“示范”你想要的回答格式:

FROM qwen3:8b

SYSTEM 你是一个把口语句子改写成正式公文用语的助手,只输出改写后的句子。

MESSAGE user 我们明天没办法去开会
MESSAGE assistant 本单位明日因故无法出席会议,敬请谅解。
MESSAGE user 东西已经寄出去了
MESSAGE assistant 相关物品已寄出,请查收。

从现有模型的 Modelfile 开始

ollama show qwen3:8b --modelfile > Modelfile

输出的文件包含完整的 TEMPLATE 和参数,只需修改需要的部分。注意,输出的 FROM 可能是一个本地文件路径,改回模型名称(例如 FROM qwen3:8b)会更便于维护。

导入 Hugging Face 的 GGUF 模型

Hugging Face 上有大量 GGUF 格式的模型(包含各种微调版本)。下载 .gguf 文件后:

FROM ./my-finetuned-model.Q4_K_M.gguf
ollama create my-model -f Modelfile

Ollama 也可以直接运行 Hugging Face 上的 GGUF 仓库:

ollama run hf.co/用户名/仓库名称
ollama run hf.co/用户名/仓库名称:Q4_K_M

导入 safetensors

从 safetensors 权重创建模型时,可以在创建时进行量化:

ollama create my-model -f Modelfile --quantize q4_K_M

(支持的架构以官方文档为准。)

在交互模式中快速保存

不写 Modelfile 也可以。在对话中调整好之后直接保存:

>>> /set system "你是一位资深的 Python 讲师,用简体中文回答,并附上示例代码。"
>>> /set parameter temperature 0.4
>>> /save python-tutor

管理自定义模型

ollama list                      # 自定义模型也会出现在这里
ollama rm tw-assistant           # 删除(不影响基础模型)
ollama show tw-assistant --modelfile

把 Modelfile 放进 Git 版本控制,团队成员就能用 ollama create 创建完全相同的模型。

更新于 2026年10月12日