AILLMLlama工具
在 Ollama 中运行中文 Llama 模型
下载中文 Llama 权重、借助 llama.cpp 转换并量化为 GGUF,最后通过 Modelfile 导入 Ollama。
把 Hugging Face 上的模型导入 Ollama,大致需要三步:确认模型格式、必要时转换或量化为 GGUF,再通过 Modelfile 创建本地模型。
先判断是否真的需要转换
如果模型仓库已经提供 GGUF 文件,可以直接下载合适的量化版本,省去本地转换。只有 PyTorch 或 safetensors 权重时,才需要借助 llama.cpp 转换。
选择模型时先确认:
- 架构是否被当前
llama.cpp支持; - tokenizer 文件是否完整;
- 模型许可证是否允许你的用途;
- 内存是否容得下所选参数量和量化等级。
转换为 GGUF
克隆并构建 llama.cpp 后,使用仓库提供的 Hugging Face 转换脚本:
python convert_hf_to_gguf.py <model-directory> \
--outfile model-f16.gguf \
--outtype f16
脚本名称和参数可能随仓库调整,运行前先查看当前帮助:
python convert_hf_to_gguf.py --help
量化
量化可以降低内存与磁盘占用,但会牺牲一定精度。先保留一份 F16 或 BF16 原始 GGUF,再生成量化副本:
./llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M
Q4 通常是体积和质量之间的起点;对代码、数学或长上下文敏感的任务,应实际比较更高精度版本。
创建 Ollama 模型
新建 Modelfile:
FROM ./model-q4_k_m.gguf
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
SYSTEM 你是一名清晰、克制的中文助手。
然后创建并运行:
ollama create my-llama -f Modelfile
ollama run my-llama
对于带有特定聊天模板的模型,应优先沿用模型作者提供的模板。模板不匹配时,常见表现是重复输出、无法停止或角色标记泄漏。
排错顺序
- 先用
llama.cpp自带命令验证 GGUF 能否加载; - 再确认 Ollama 能否创建模型;
- 检查聊天模板、停止词和上下文长度;
- 最后调整温度、top-p 等生成参数。
模型“中文能力不好”不一定是部署问题,也可能来自底模、微调数据或量化损失。使用固定测试问题对比原始权重与量化版本,才能判断损失发生在哪一步。