> 技术文档 > 掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

文章目录

          • 一、llama.cpp安装
            • 1. 克隆llama.cpp
            • 2. 更新源
            • 3. 安装依赖
            • 4. 安装依赖
            • 5. 编译llama.cpp
          • 二、将导出合并的模型safetensors 格式转成 gguf
            • 2.1. 背景介绍
            • 2.2. safetensors 格式转成 gguf(背景一)
            • 2.2. safetensors 格式转成 gguf(背景二)
            • 2.3.异常汇总
          • 三、gguf模型量化和服务体验
            • 3.1. gguf模型量化
            • 3.2. 服务体验
          • 四、ollama导入gguf模型
            • 1.1 linux安装ollama
            • 1.2. 制作Modelfile
            • 1.3. ollama导入gguf模型
            • 1.4. 查看镜像
            • 1.5. 运行模型镜像和体验服务
一、llama.cpp安装
1. 克隆llama.cpp
git clone https://github.com/ggerganov/llama.cppcd llama.cpp

如果下载慢,开启学术加速

source /etc/network_turbo
2. 更新源
apt-get updateapt-get upgrade
3. 安装依赖
sudo apt-get install make cmake gcc g++ locate
4. 安装依赖
sudo apt-get install make cmake gcc g++ locate
5. 编译llama.cpp
cmake -B buildcmake --build build --config Release -j 8

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

二、将导出合并的模型safetensors 格式转成 gguf
2.1. 背景介绍
  • 背景一:基于解锁 DeepSeek R1 微调训练新姿势,LLaMA - Factory、LoRA 与 FastAPI 带你弯道超车!微调到处后的模型或者自己重新下载一个新增模型测试都可以。

  • 背景二:重新拉取新模型做测试的话,执行下面命令

cd autodl-tmp/mkdir Hugging-Faceexport HF_ENDPOINT=https://hf-mirror.comexport HF_HOME=/root/autodl-tmp/Hugging-Facepip install -U huggingface_hubhuggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
2.2. safetensors 格式转成 gguf(背景一)
mkdir -p root/autodl-tmp/Models/deepseek-r1-1.5b-GGUFcd /root/autodl-tmp/llama.cpp/python convert_hf_to_gguf.py /root/autodl-tmp/Models/deepseek-r1-1.5b-merged --outfile /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf --outtype q8_0
2.2. safetensors 格式转成 gguf(背景二)
mkdir -p root/autodl-tmp/Models/deepseek-r1-1.5b-GGUFcd /root/autodl-tmp/llama.cpp/python convert_hf_to_gguf.py /root/autodl-tmp/Hugging-Face/hub/models--deepseek-ai--DeepSeek-R1-Distill-Qwen-1.5B/snapshots/ad9f0ae0864d7fbcd1cd905e3c6c5b069cc8b562 --outfile /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf --outtype q8_0

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署
最后输出

INFO:hf-to-gguf:Set model quantization versionINFO:gguf.gguf_writer:Writing the following files:INFO:gguf.gguf_writer:/root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf: n_tensors = 339, total_size = 1.9GWriting: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.89G/1.89G [00:21<00:00, 88.4Mbyte/s]INFO:hf-to-gguf:Model successfully exported to /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf
2.3.异常汇总
  • 问题一:ModuleNotFoundError: No module named \'sentencepiece\'
    解决方案:
pip install sentencepiece

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

  • 问题二:ModuleNotFoundError: No module named \'safetensors\'\'
    解决方案:
pip install safetensors

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

  • 问题三:ModuleNotFoundError: No module named \'transformers\'\'
    解决方案:
pip install transformers

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

三、gguf模型量化和服务体验

将 gguf 格式模型进行(再)量化

3.1. gguf模型量化
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-quantize --allow-requantize /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q4_0-v1.gguf Q4_1

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署
掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署
输出

llama_model_quantize_impl: model size = 1801.09 MBllama_model_quantize_impl: quant size = 1103.16 MBmain: quantize time = 6053.28 msmain: total time = 6053.28 ms
3.2. 服务体验
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-cli -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf \\ -n -1 \\ -ngl 256 \\ -t 12 \\ --color \\ -r \"User:\" \\ --in-prefix \" \" \\ -i \\ -p \\\'User: 你好AI: 你好啊,我是光屿,要聊聊吗?User: 好啊!AI: 你想聊聊什么话题呢?User:\'
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-cli -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q4_0-v1.gguf \\ -n -1 \\ -ngl 256 \\ -t 12 \\ --color \\ -r \"User:\" \\ --in-prefix \" \" \\ -i \\ -p \\\'User: 你好AI: 你好啊,我是光屿,要聊聊吗?User: 好啊!AI: 你想聊聊什么话题呢?User:\'

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

cd /root/autodl-tmp/llama.cpp/build/bin/./llama-server \\ -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf \\ --host \"127.0.0.1\" \\ --port 8080 \\ -c 2048 \\ -ngl 128

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署
掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

http://localhost:8080/

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

四、ollama导入gguf模型
1.1 linux安装ollama
cd /root/autodl-tmpcurl -fsSL https://ollama.com/install.sh| sh

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

  • 启动ollama
ollama serve

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

1.2. 制作Modelfile

新建Modelfile文件(不要后缀),输入一下内容和模型在同一个目录下面

FROM ./deepseek-r1-1.5b-q8_0-v1.gguf
1.3. ollama导入gguf模型
cd /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/ollama create gblfy-deepseek-r1-1.5b-q8 -f Modelfile
1.4. 查看镜像
ollama list

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署

1.5. 运行模型镜像和体验服务
ollama run gblfy-deepseek-r1-1.5b-q8

掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署