seemeai/llama-cppllama.cpp社区版发布容器是基于seemeai/llama-cpp镜像构建的工具容器,专注于llama.cpp支持模型的转换、量化处理与功能验证。通过容器化方案简化模型处理流程,支持多种量化精度,帮助开发者快速适配不同硬件资源环境,验证模型性能。
convert.py脚本将原始模型权重转换为llama.cpp兼容的GGUF格式main工具执行推理测试,验证量化后模型的文本生成能力数据目录配置
创建本地数据目录(如/data_folder_with_all_models),并将模型权重及配置文件存放于${data_dir}/llama-data/${model}/路径下(${model}为模型名称,如mixtral-7b)。
镜像信息
基础镜像:seemeai/llama-cpp:b1632-cuda12.1(含CUDA 12.1支持,需GPU环境可启用硬件加速)
将原始模型转换为GGUF格式(f16精度):
bashdata_dir=/data_folder_with_all_models # 本地模型数据根目录 model=mixtral-7b # 模型名称(对应数据目录下的子文件夹) image=seemeai/llama-cpp:b1632-cuda12.1 docker run -it --shm-size=64G -v $data_dir:/models \ --entrypoint python $image \ /code/llama.cpp/convert.py /models/llama-data/$model/ --vocab-dir /models
--shm-size=64G:设置共享内存大小(大模型转换需足够内存)-v $data_dir:/models:挂载本地数据目录到容器内/models路径${data_dir}/llama-data/${model}/ggml-model-f16.gguf对转换后的f16模型执行多格式量化:
bash# 定义需量化的格式列表(可根据需求调整) quantizations=( q2_k q3_k_l q3_k_m q4_0 q4_1 q4_k_s q5_0 q5_1 q5_k_m q5_k_s q6_k q8_0 ) for quantize in "${quantizations[@]}"; do docker run -it --shm-size=64G -v $data_dir:/models \ --entrypoint /code/llama.cpp/quantize $image \ /models/llama-data/$model/ggml-model-f16.gguf \ /models/llama-data/$model/ggml-model-$quantize.gguf \ $quantize done
${data_dir}/llama-data/${model}/ggml-model-${quantize}.gguf(如ggml-model-q4_0.gguf)bin_folder=/build/bin,修改entrypoint为/code/llama.cpp/build/bin/quantize对量化后的模型执行推理测试:
bash# 以q4_0量化模型为例 docker run -it --shm-size=64G -v $data_dir:/models \ --entrypoint /code/llama.cpp/main $image \ -m /models/llama-data/$model/ggml-model-q4_0.gguf \ -p "Building a website can be done in 10 simple steps:\nStep 1:" \ -n 400 -e -t 16 # -ngl 40 # 启用GPU加速时添加,指定GPU卸载层数
-m:量化后模型文件路径-p:输入提示文本-n:生成文本长度(tokens数)-t:推理线程数-ngl:GPU卸载层数(需CUDA环境,默认禁用)| 参数 | 说明 | 默认值 |
|---|---|---|
data_dir | 本地模型数据根目录,需包含llama-data/${model}子目录 | /data_folder_with_all_models |
model | 模型名称,对应数据目录下的子文件夹名称 | mixtral-7b |
ngl | GPU卸载层数(仅CUDA版本有效),0表示纯CPU推理 | 40 |
quantizations | 需执行的量化格式列表,可按需增删 | (q2_k q3_k_l q3_k_m q4_0 q4_1 q4_k_s q5_0 q5_1 q5_k_m q5_k_s q6_k q8_0) |
bin_folder | Legacy版本二进制文件路径,新版本无需设置 | 空(Legacy版本设为/build/bin) |
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务