从modelscope或者hugging face上下载的模型大多数都是.safetensors格式:
我们可能会需要对这些模型进行微调或者量化,然后放到ollama中进行部署服务。
转为gguf文件,并且量化为bf16.
- 下载llama.cpp
git clone https://github.com/ggerganov/llama.cpp
- 选中模型存放文件进行量化转换为gguf文件:
python convert_hf_to_gguf.py /Qwen2/model_files/qwen/Qwen2-7B-Instruct/ --outfile model.gguf --outtype f16
- 因为我用的是docker 部署ollama,可能会因为卷的挂载问题导致无法使用模型,因此确保将生成的模型文件(model.gguf放在ollama能够访问得到的目录下)
- 编写Modelfile文件
FROM /data/test/model.gguf
# set the temperature to 0.7 [higher is more creative, lower is more coherent]
PARAMETER stop "<|system|>"
PARAMETER stop "<|user|>"
PARAMETER stop "<|assistant|>"
TEMPLATE """[gMASK]<sop>{{ if .System }}<|system|>
{{ .System }}{{ end }}{{ if .Prompt }}<|user|>
{{ .Prompt }}{{ end }}<|assistant|>
{{ .Response }}"""
- 使用docker交互指令进入ollama部署容器,然后使用ollama的命令创建自定义模型:
ollama create glm-4-9b-chat.BF16 -f /data/test/Modelfile
- 退出容器,可以查看安装情况
docker exec -it ollama_custom ollama list