目录
从 Safetensors 权重中导入微调适配器
首先,创建一个 Modelfile,包含指向你用于微调的基座模型的 FROM 命令,以及指向包含你的 Safetensors 适配器目录的 ADAPTER 命令:
dockerfile
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory请确保你在 FROM 命令中使用的基座模型与你创建适配时使用的模型相同,否则可能会得到不稳定的结果。大多数框架使用不同的量化方法,因此最好使用非量化(即非 QLoRA)的适配器。如果你的适配器与 Modelfile 在同一目录中,请使用 ADAPTER . 来指定适配器路径。
现在从创建 Modelfile 的目录运行 ollama create:
shell
ollama create my-model最后,测试模型:
shell
ollama run my-modelOllama 支持基于多种不同模型架构的适配器导入,包括:
- Llama(包括 Llama 2, Llama 3, Llama 3.1 和 Llama 3.2);
- Mistral(包括 Mistral 1, Mistral 2 和 Mixtral);以及
- Gemma(包括 Gemma 1 和 Gemma 2)
你可以使用可以输出 Safetensors 格式适配器的微调框架或工具来创建适配器,例如:
从 Safetensors 权重中导入模型
首先,创建一个 Modelfile,包含指向包含你的 Safetensors 权重的目录的 FROM 命令:
dockerfile
FROM /path/to/safetensors/directory如果你在权重所在的同一目录中创建 Modelfile,可以使用 FROM . 命令。
现在从你创建 Modelfile 的目录运行 ollama create 命令:
shell
ollama create my-model最后,测试模型:
shell
ollama run my-modelOllama 支持导入多种不同架构的模型,包括:
- Llama(包括 Llama 2, Llama 3, Llama 3.1 和 Llama 3.2);
- Mistral(包括 Mistral 1, Mistral 2 和 Mixtral);
- Gemma(包括 Gemma 1 和 Gemma 2);以及
- Phi3
这包括导入基础模型以及任何与基础模型进行过 融合 (fused) 的微调模型。
导入 GGUF 基于的模型或适配器
如果你拥有基于 GGUF 的模型或适配器,可以将其导入到 Ollama 中。你可以通过以下方式获取 GGUF 模型或适配器:
- 使用 Llama.cpp 中的
convert_hf_to_gguf.py将 Safetensors 模型转换为 GGUF; - 使用 Llama.cpp 中的
convert_lora_to_gguf.py将 Safetensors 适配器转换为 GGUF;或者 - 从 HuggingFace 等平台下载模型或适配器
要导入 GGUF 模型,创建一个包含以下内容的 Modelfile:
dockerfile
FROM /path/to/file.gguf对于 GGUF 适配器,使用以下内容创建 Modelfile:
dockerfile
FROM <model name>
ADAPTER /path/to/file.gguf在导入 GGUF 适配器时,务必使用与该适配器创建时相同的基座模型。你可以使用:
- 来自 Ollama 的模型
- GGUF 文件
- 基于 Safetensors 的模型
创建好 Modelfile 后,使用 ollama create 命令来构建模型。
shell
ollama create my-model量化模型
模型量化可以让你以更快的速度运行模型并降低内存消耗,但会降低精度。这使得你可以在配置较低的硬件上运行模型。
Ollama 可以使用 ollama create 命令中的 -q/--quantize 标志,将基于 FP16 和 FP32 的模型量化到不同的量化级别。
首先,创建一个包含你想量化的 FP16 或 FP32 模型的 Modelfile。
dockerfile
FROM /path/to/my/gemma/f16/model然后使用 ollama create 创建量化模型。
shell
$ ollama create --quantize q4_K_M mymodel
transferring model data
quantizing F16 model to Q4_K_M
creating new layer sha256:735e246cc1abfd06e9cdcf95504d6789a6cd1ad7577108a70d9902fef503c1bd
creating new layer sha256:0853f0ad24e5865173bbf9ffcc7b0f5d56b66fd690ab1009867e45e7d2c4db0f
writing manifest
success支持的量化方式
q8_0
K-means 量化
q4_K_Sq4_K_M
在 ollama.com 上分享你的模型
你可以通过将创建的任何模型推送到 ollama.com 来分享给其他用户试用。
首先,使用浏览器访问 Ollama 注册 (Sign-Up) 页面。如果你已经有账号,可以跳过此步骤。

Username 字段将作为模型名称的一部分(例如 jmorganca/mymodel),因此请确保你选择的用户名是你满意的。
创建账号并登录后,前往 Ollama Keys Settings 页面。
按照页面上的说明查找你的 Ollama 公钥 (Public Key) 位置。

点击 Add Ollama Public Key 按钮,并将你的 Ollama 公钥内容复制并粘贴到文本框中。
要将模型推送到 ollama.com,首先确保模型已正确命名为包含你的用户名。你可能需要使用 ollama cp 命令来复制并重命名模型。确认模型名称无误后,使用 ollama push 命令将其推送到 ollama.com。
shell
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel模型推送成功后,其他用户可以通过以下命令拉取并运行:
shell
ollama run myuser/mymodel