用途:llama.cpp 是 ggml-org 维护的纯 C/C++ 大语言模型推理引擎,依赖极少,面向 CPU 与 GPU 的高性能本地推理,MIT 许可,更新频繁。
主要能力:支持 NVIDIA(CUDA)、AMD(ROCm/Vulkan)、Apple(Metal)、Intel(SYCL/Vulkan)、Qualcomm(OpenCL)、ARM、WebGPU 等硬件;使用 GGUF 单文件、可 mmap 的模型格式,提供 1.5 位到 16 位共 40 多种量化类型(如 Q4_K_M、Q5_K_M、Q8_0、IQ4_XS、Q3_K_M、IQ2_XS、F16);内置 HTTP 服务器,提供 OpenAI 兼容 API、Anthropic Messages API、流式输出、函数调用与多模态;另有 Python、Go、Rust、C#、Node.js、Java、Swift 等绑定。
使用方式:可 brew install llama.cpp 或 winget install llama.cpp 安装,用 llama-server -hf bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M -ngl 99 启动服务,再通过 curl 调用 /v1/chat/completions。C++ 项目可包含 llama.h,依次调用 llama_model_load_from_file、llama_init_from_model、llama_tokenize、llama_decode、llama_get_logits、llama_sampler_sample、llama_token_to_piece 完成推理循环。源码构建示例:cmake -B build -DGGML_CUDA=ON 后 cmake --build build --config Release -j。量化用 llama-quantize model-f16.gguf model-q4km.gguf Q4_K_M,转换用 python convert_hf_to_gguf.py /path/to/hf_model --outfile model.gguf。
适用场景:本地或私有环境部署 LLM、需要跨硬件后端推理、以 C/C++ 嵌入应用、通过 HTTP 服务对外提供兼容接口。
限制:资料未提供具体性能数据、内存占用、价格与收费信息;部分量化类型(如 IQ2_XS)需配合 imatrix;GPU 卸载层数(-ngl)是影响性能的关键设置,具体取值需按硬件调整。