1. 什么是 Modelfile?
Modelfile
是 Ollama 的配置文件,用于定义和自定义模型的行为。通过它,你可以:
基于现有模型(如
llama2
、mistral
)创建自定义版本调整生成参数(如温度、重复惩罚)
添加系统级提示(
SYSTEM
指令)合并多个模型或适配器
2. Modelfile 核心语法
# 基础模型(必须)
FROM <模型名>
# 系统提示(定义模型的默认行为)
SYSTEM """
你是一个幽默的助手,回答要简短且押韵。
"""
# 调整生成参数
PARAMETER temperature 0.7 # 控制随机性(0-1,越高越有创意)
PARAMETER num_ctx 4096 # 上下文窗口大小
PARAMETER num_predict 512 # 最大生成长度
# 模板(控制对话格式)
TEMPLATE """{{ .System }}
{{ .Prompt }}"""
3. 创建自定义模型的步骤
1)新建 Modelfile:创建一个文本文件(如 my-model.Modelfile
),写入配置。
2)构建模型:
ollama create my-custom-model -f ./my-model.Modelfile
3)运行模型:
ollama run my-custom-model
4. 常用 Modelfile 指令
指令 | 说明 | 示例 |
---|---|---|
FROM |
基础模型 | FROM llama2:13b |
SYSTEM |
系统级提示 | SYSTEM "你是一个专业翻译助手" |
PARAMETER |
调整模型参数 | PARAMETER temperature 0.3 |
ADAPTERS |
合并适配器(需路径) | ADAPTERS ./my-adapter.bin |
TEMPLATE |
定义输入模板 | 见下方示例 |
5 完整案例
# 基于 mistral 模型,创建一个代码助手
FROM mistral
SYSTEM """
你是一个专业的 Python 程序员,回答需包含代码示例,并用中文解释。
"""
PARAMETER temperature 0.5
PARAMETER num_ctx 2048
TEMPLATE """[INST] {{ .System }}
{{ .Prompt }} [/INST]
"""
6. 模型文件存储位置
Ollama 模型默认存储在以下路径:
Linux/Mac:
~/.ollama/models/
Windows:
C:\Users\<用户名>\.ollama\models
7. 常见问题
1)如何更新自定义模型?
修改 Modelfile
后重新运行 ollama create
(需先删除旧模型:ollama rm 模型名
)。
2)如何共享自定义模型?
通过
ollama push
推送到 Ollama 库(需注册)或直接分享
Modelfile
和适配器文件(如果有)
3)如何查看模型参数?
运行 ollama show <模型名> --modelfile
查看生成该模型的完整配置。
如果需要进一步调整模型权重或底层架构,需使用更高级工具(如 PyTorch/HuggingFace),Ollama 的 Modelfile
主要针对轻量化定制。