目录
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日