Ollama如何正确导入模型
今天我们一起来看如何给自己的本地ollama导入GGUF、PyTorch或Safetensors模型。
导入 GGUF
第一步:编写Modelfile文件
首先创建一个Modelfile。Modelfile文件昨天已经讲过是模型的模版,指定权重、参数、提示模板等。
FROM ./mistral-7b-v0.1.Q4_0.gguf
许多聊天模型需要一个提示模板,以便正确回答。可以使用Modelfile中的template指令指定默认提示模板
FROM ./mistral-7b-v0.1.Q4_0.gguf
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
第二步:创建Ollama模型
从Modelfile中创建一个模型
ollama create example -f Modelfile
第二步:运行你新建的模型
接下来,用ollama run测试模型
ollama run example "What is your favourite condiment?"
导入 PyTorch 或 Safetensors
从PyTorch和Safetensors导入比从GGUF导入要长。为了使它们更容易导入和使用,官方正在进行改进,后续推出我也会第一时间推荐给大家。
步骤
第一步:克隆ollama/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
然后构建 quantize
工具
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
quantize
模型
获取llm/llama.cpp/quantize converted.bin quantized.bin q4_0
在有了quantize模型之后就可以按照上面的步骤正常的去构建了。
第一步:编写Modelfile文件
FROM quantized.bin
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
第二步:构建Ollama模型
ollama create example -f Modelfile
第三步:运行Ollama模型
ollama run example "What is your favourite condiment?"
Was this helpful?
0 / 0