Skip to content

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:14bQA_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 工具从现有模型文件创建一个新的模型副本,并成功运行该模型以进行交互。这在需要快速部署或测试不同配置的模型时非常有用。

问答测试1问答测试2

Released under the MIT License.