llama.cpp模型文件的问题
invalid magic characters:不是 GGUF 文件
报错原文
gguf_init_from_reader: invalid magic characters: '<xxxx>', expected 'GGUF'
尖括号 <…> 里的内容每次运行都会不同。
是什么意思
每个 GGUF 文件都以 "GGUF" 这四个字节开头。这个文件不是,所以它根本不是 GGUF 文件 —— 通常是网页、Git LFS 指针文件,或改名成 .gguf 的 safetensors 文件。
为什么会出现
- 下载保存的是 Hugging Face 的网页(用了
/blob/链接而不是/resolve/),或者是受限仓库的登录页。 - 没装 Git LFS 就
git clone,权重位置只留下一个很小的文本指针。 - 文件是其他格式(safetensors、PyTorch),需要先转换。文件被截断时报的则是 "failed to read magic"。
怎么解决
- 看文件开头:
head -c 4 model.gguf应该输出GGUF。文件特别小也是一个明显信号。 - 用 Hugging Face 命令行下载:
hf download <repo> <file>.gguf --local-dir . - safetensors 需要先用 llama.cpp 的
convert_hf_to_gguf.py转换。
相关指南
相关报错
核对来源
报错原文于 2026-10-26 从源码中读取核对。