Ollama Modelfile 自定义模型
Ollama Modelfile 是一个配置文件,用于定义和管理 Ollama 平台上的模型。通过模型文件创建新模型或修改调整现有模型,以应对一些特殊的应用场景。自定义提示嵌入到模型中,修改和调整上下文长度、温度、随机种子、降低无意义程度、增加或减少输出文本的多样性等。(ps:这不是微调,只是调整原来的模型的参数。)
创建Modelfile
核心机制:
- 将SYSTEM提示预置在对话上下文
- 等效于每次对话自动添加预设前缀
- 模型权重保持完全不变
我这里的 Modelfile
是一个名为fty_qa
的无格式文件,需要包含FROM(表示创建模型的源模型),SYSTEM(""" 注入个人文档内容 """),如下:
FROM deepseek-r1:14b
SYSTEM """
{预设指令}
{文档内容}
"""
提示词增强模版:
python
# 结构化提示模板
SYSTEM_TEMPLATE = """
[用户档案]
{personal_data}
[响应规则]
1. 优先引用用户病史
2. 避免使用专业术语
3. 每次提供2-3个选项
[知识库]
{knowledge_snippets}
"""
创建自定义模型
ollama create {新模型名称} -f ./{modelfile名称}
1. 列出当前可用的模型
- 命令:
ollama list
- 目的: 查看当前系统中已有的模型列表。
- 结果: 显示了两个模型,分别是
deepseek-r1:14b
和QA_Assistant_DS:14b
,它们的 ID、大小和修改时间。
2. 创建新的模型副本
- 命令:
ollama create QA_Assistant_DS:14b -f qa_ds14b
- 目的: 使用现有的
qa_ds14b
文件作为基础,创建一个名为QA_Assistant_DS:14b
的新模型。 - 过程:
- 系统开始收集模型组件。
- 使用现有的层(layer)构建新模型。
- 创建新的层并写入清单(manifest)。
- 结果: 新模型
QA_Assistant_DS:14b
成功创建,并显示其 ID 为9a662aa0ddf2
,大小为9.0 GB
。
3. 运行新创建的模型
- 命令:
ollama run QA_Assistant_DS:14b
- 目的: 启动并运行新创建的
QA_Assistant_DS:14b
模型,以便进行交互式对话。 - 结果: 模型启动后,可以开始与之进行文本交互,如图中所示的“你是谁?”问题。
整个过程展示了如何使用 Ollama 工具从现有模型文件创建一个新的模型副本,并成功运行该模型以进行交互。这在需要快速部署或测试不同配置的模型时非常有用。