使用 Ollama 导入模型

本指南将介绍如何在 Ollama 中导入 GGUF、PyTorch 或 Safetensors 模型。

导入 GGUF 模型

第一步:编写 Modelfile

首先创建一个 Modelfile。该文件是模型的蓝图,用于指定权重、参数、提示模板等。

示例 Modelfile:

FROM ./mistral-7b-v0.1.Q4_0.gguf
TEMPLATE "[INST] {{ .Prompt }} [/INST]"

第二步:创建 Ollama 模型

使用 Modelfile 创建一个模型:

ollama create example -f Modelfile

第三步:运行你的模型

使用以下命令测试模型:

ollama run example "你最喜欢的调味品是什么?"

导入 PyTorch 和 Safetensors 模型

从 PyTorch 和 Safetensors 导入模型的过程比导入 GGUF 更长,改进工作正在进行中。

设置

首先,克隆 Ollama 仓库:

git clone git@github.com:ollama/ollama.git ollama
cd ollama

然后获取其 llama.cpp 子模块:

git submodule init
git submodule update llm/llama.cpp

接下来,安装 Python 依赖项:

python3 -m venv llm/llama.cpp/.venv
source llm/llama.cpp/.venv/bin/activate
pip install -r llm/llama.cpp/requirements.txt

然后构建量化工具:

make -C llm/llama.cpp quantize

克隆 HuggingFace 仓库(可选)

如果模型目前托管在 HuggingFace 仓库中,首先克隆该仓库以下载原始模型。

安装 Git LFS,验证安装,然后克隆模型仓库:

git lfs install
git clone https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1 model

转换模型

注意:某些模型架构需要使用特定的转换脚本。例如,Qwen 模型需要运行 convert-hf-to-gguf.py 而不是 convert.py

python llm/llama.cpp/convert.py ./model --outtype f16 --outfile converted.bin

量化模型

llm/llama.cpp/quantize converted.bin quantized.bin q4_0

第三步:编写 Modelfile

接下来,为你的模型创建一个 Modelfile:

FROM quantized.bin
TEMPLATE "[INST] {{ .Prompt }} [/INST]"

第四步:创建 Ollama 模型

使用 Modelfile 创建一个模型:

ollama create example -f Modelfile

第五步:运行你的模型

使用以下命令测试模型:

ollama run example "你最喜欢的调味品是什么?"

发布你的模型(可选 – 早期 Alpha)

发布模型处于早期 Alpha 阶段。如果你想将模型发布给他人,请按照以下步骤操作:

创建一个账户

复制你的 Ollama 公钥

  • macOS: cat ~/.ollama/id_ed25519.pub | pbcopy
  • Windows: type %USERPROFILE%\.ollama\id_ed25519.pub
  • Linux: cat /usr/share/ollama/.ollama/id_ed25519.pub

将公钥添加到你的 Ollama 账户

接下来,将你的模型复制到你的用户名命名空间:

ollama cp example <your username>/example

注意:模型名称只能包含小写字母、数字和字符 ., -, 和 _.

然后推送模型:

ollama push <your username>/example

发布后,你的模型将可以在以下地址访问:

https://ollama.com/<your username>/example
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐