Ollama 使用 Modelfile 来定义和自定义模型。Modelfile 是一个文本文件,类似于 Dockerfile,用于描述如何构建和配置模型。
Modelfile 基本结构:
dockerfileFROM llama3.1 PARAMETER temperature 0.7 PARAMETER top_p 0.9 PARAMETER num_ctx 4096 SYSTEM You are a helpful assistant. TEMPLATE """ {{- range .Messages }} {{- if eq .Role "user" }}User: {{ .Content }} {{- else if eq .Role "assistant" }}Assistant: {{ .Content }} {{- end }} {{- end }} Assistant: """
常用指令:
- FROM - 指定基础模型
dockerfileFROM llama3.1:8b
- PARAMETER - 设置模型参数
dockerfilePARAMETER temperature 0.7 PARAMETER top_p 0.9 PARAMETER num_ctx 4096 PARAMETER repeat_penalty 1.1
- SYSTEM - 设置系统提示词
dockerfileSYSTEM You are an expert Python developer.
- TEMPLATE - 自定义提示词模板
dockerfileTEMPLATE """ <|user|> {{ .Prompt }}<|end|> <|assistant|> """
- LICENSE - 添加许可证信息
dockerfileLICENSE MIT
- MESSAGE - 添加示例对话
dockerfileMESSAGE user Hello MESSAGE assistant Hi there!
创建自定义模型:
bash# 创建 Modelfile cat > Modelfile << EOF FROM llama3.1 SYSTEM You are a coding assistant specialized in Python. PARAMETER temperature 0.5 EOF # 构建模型 ollama create my-coder -f Modelfile # 运行自定义模型 ollama run my-coder
查看模型的 Modelfile:
bashollama show --modelfile my-coder