从hugging face的页面中可以找到deepseek的gguf文件列表:
https://huggingface.co/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-Q4_K_M
以笔者下载到的deepseek-r1版本的9个分片文件举例说明:
文件大小(bytes) | 文件名 |
48339779936 | DeepSeek-R1-Q4_K_M-00001-of-00009.gguf |
49429396320 | DeepSeek-R1-Q4_K_M-00002-of-00009.gguf |
49527312640 | DeepSeek-R1-Q4_K_M-00003-of-00009.gguf |
48272509536 | DeepSeek-R1-Q4_K_M-00004-of-00009.gguf |
49422027488 | DeepSeek-R1-Q4_K_M-00005-of-00009.gguf |
48272509536 | DeepSeek-R1-Q4_K_M-00006-of-00009.gguf |
49429396320 | DeepSeek-R1-Q4_K_M-00007-of-00009.gguf |
4693877369 | DeepSeek-R1-Q4_K_M-00008-of-00009.gguf |
14798482144 | DeepSeek-R1-Q4_K_M-00009-of-00009.gguf |
将模型保存到d:\models也就是D盘的models文件夹下, 还需要从github上的llama.cpp库里下载到llama分割合并分片文件的程序, 或者自己编译都行:
https://github.com/ggml-org/llama.cpp/releases
笔者是用windows 11工作站版, 解包得到llama-gguf-split.exe, 解压到c盘llama文件夹下
那么开始->运行->cmd到命令行里输入
cd d:\models
就会到达模型目录下, 再用以下格式的命令来合并
c:\llama\llama-gguf-split --merge 第一个分片文件的位置.gguf 合并后的文件名.gguf
举例说明: 笔者的实际应用场景, 笔者把模型文件被放置到D盘models文件夹下了, 假设我想得到名为deepseek-r1-q4.gguf完整模型文件作为合并后文件名, 命令就应该是这样写:
c:\llama\llama-gguf-split --merge D:\models\DeepSeek-R1-Q4_K_M-00001-of-00009.gguf deepseek-r1-q4.gguf
报错相关注意事项:
合并的时候如果内存不足(如果你是用本地小内存电脑处理的)或者是硬盘空间不足,合并过程会报错,但对于萌新来说无法察觉到,实际运行合并不完整的模型会报文件头校验错误,无法运行。