)
發(fā)布日期2026-08-12 | 數(shù)據(jù)來(lái)源llama.cpp 官方 GitHubggml-org/llama.cpp文檔、官方 install.md / build.md / server 文檔 | 話(huà)題llama.cpp · 本地大模型 · GGUF · llama-serverllama.cpp 是由 Georgi Gerganov 開(kāi)發(fā)的高性能大模型推理框架以純 C/C 實(shí)現(xiàn)、零外部依賴(lài)著稱(chēng)支持 1.5 到 8 位整數(shù)量化可在筆記本 CPU 上運(yùn)行 7B 模型也可通過(guò) CUDA / Metal / Vulkan 將推理卸載到 GPU 加速截至 2026 年 8 月最新版本 b10369123k Stars項(xiàng)目已從早期僅支持 LLaMA 系列發(fā)展為覆蓋 Qwen3、DeepSeek、Kimi K3、GLM 等主流開(kāi)源模型的通用推理引擎內(nèi)置llama-server可一鍵暴露 OpenAI 兼容 REST API讓本地模型無(wú)縫替換云端 API本文覆蓋三平臺(tái)macOS / Linux / Windows的安裝方式、GPU 加速編譯、GGUF 模型選擇、llama-server生產(chǎn)配置以及常見(jiàn)顯存不足場(chǎng)景的調(diào)參策略。llama.cpp 是什么和 Ollama 有什么區(qū)別llama.cpp是底層推理引擎直接操作 GGUF 量化格式的模型文件提供命令行工具和 REST API適合需要精細(xì)控制推理參數(shù)、自行集成 API 服務(wù)的開(kāi)發(fā)者。Ollama是對(duì) llama.cpp 的高層封裝macOS 版已從 llama.cpp 遷移至 Apple MLX2026 年 3 月提供更簡(jiǎn)單的模型管理命令ollama pull/ollama run適合快速上手但不需要調(diào)參的場(chǎng)景。關(guān)系學(xué) llama.cpp 學(xué)底層理解量化、層卸載、KV Cache 等機(jī)制用 Ollama 黑盒使用兩者都基于 GGUF 格式模型文件通用。安裝三平臺(tái)最快路徑macOS推薦 Homebrewbrewinstallllama.cppHomebrew 版本隨官方 Release 自動(dòng)更新包含 Metal GPU 加速支持Apple Silicon 默認(rèn)啟用。驗(yàn)證安裝llama-cli--versionllama-server--versionLinux# conda-forge包含 CUDA / Vulkan 版本condainstall-cconda-forge llama.cpp# 或 HomebrewLinux 同樣支持brewinstallllama.cppWindows三種方式任選其一方式一Winget最簡(jiǎn)單winget install llama.cpp方式二GitHub Release 預(yù)編譯包推薦按顯卡選版本前往 https://github.com/ggml-org/llama.cpp/releases 下載對(duì)應(yīng)版本你的顯卡下載哪個(gè)包NVIDIA GPUllama-bXXXXX-bin-win-cuda-cu12.4-x64.zipAMD GPUllama-bXXXXX-bin-win-vulkan-x64.zipIntel Arcllama-bXXXXX-bin-win-vulkan-x64.zip僅 CPUllama-bXXXXX-bin-win-cpu-x64.zip下載后解壓在解壓目錄直接運(yùn)行l(wèi)lama-server.exe無(wú)需安裝。方式三從源碼編譯需要 GPU 加速時(shí)從源碼編譯GPU 加速版本包管理器安裝的版本已包含對(duì)應(yīng)平臺(tái)的 GPU 加速若需要手動(dòng)編譯NVIDIA CUDA 加速Linux / Windows前提安裝 CUDA Toolkit12.x 推薦gitclone https://github.com/ggml-org/llama.cppcdllama.cpp cmake-Bbuild-DGGML_CUDAON cmake--buildbuild--configRelease-j8Apple Silicon Metal 加速macOSMetal 默認(rèn)啟用無(wú)需額外參數(shù)cmake-Bbuild cmake--buildbuild--configRelease-j8AMD GPUVulkan跨平臺(tái)cmake-Bbuild-DGGML_VULKANON cmake--buildbuild--configRelease-j8編譯完成后可執(zhí)行文件在build/bin/目錄下。獲取模型GGUF 格式和量化選擇llama.cpp 只能運(yùn)行 GGUF 格式的量化模型。從 HuggingFace 下載命令行直接拉取# 直接運(yùn)行 HuggingFace 上的 GGUF 模型自動(dòng)下載llama-cli-hfggml-org/Qwen3.5-0.8B-GGUF也可以手動(dòng)下載 GGUF 文件# 安裝 huggingface_hubpipinstallhuggingface_hub# 下載指定量化版本huggingface-cli download\Qwen/Qwen3-8B-GGUF\qwen3-8b-q4_k_m.gguf\--local-dir ./models量化版本怎么選GGUF 文件名中的量化標(biāo)識(shí)對(duì)應(yīng)不同的精度和內(nèi)存需求以 7B/8B 模型為例量化類(lèi)型模型大小7B所需內(nèi)存推薦場(chǎng)景Q2_K~3 GB4 GB內(nèi)存極限質(zhì)量較差Q4_K_S~4.5 GB6 GB內(nèi)存受限但可接受質(zhì)量Q4_K_M~5 GB6–8 GB日常使用推薦Q5_K_M~5.7 GB8 GB質(zhì)量更好稍大Q8_0~8 GB10 GB接近原精度大內(nèi)存可選F16~14 GB16 GB開(kāi)發(fā)/評(píng)測(cè)不量化命名規(guī)則Q{位數(shù)}_K_{規(guī)格}中K表示 K-quant 方法比同位數(shù)的舊方法精度更高M(jìn)是中等MediumS是小SmallL是大Large。通常首選 Q4_K_M在文件大小和輸出質(zhì)量之間平衡最優(yōu)。各參數(shù)量對(duì)應(yīng)內(nèi)存需求Q4_K_M模型參數(shù)量GGUF 大小最低顯存 / 內(nèi)存1B–3B1–2 GB4 GB7B–8B4–5 GB6 GB14B8–9 GB10 GB27B–32B15–18 GB20 GB70B38–42 GB48 GB或多 GPU估算公式參數(shù)量B× 量化位數(shù) / 8 × 1.2KV Cache 框架開(kāi)銷(xiāo)基礎(chǔ)推理llama-cli# 單次問(wèn)答llama-cli-m./models/qwen3-8b-q4_k_m.gguf\-p用一句話(huà)解釋什么是量化# 交互式對(duì)話(huà)模式llama-cli-m./models/qwen3-8b-q4_k_m.gguf\-i-ins# 全 GPU 推理-ngl 999 所有層卸載到 GPUllama-cli-m./models/qwen3-8b-q4_k_m.gguf\-ngl999\-p寫(xiě)一個(gè)快速排序的 Python 實(shí)現(xiàn)常用參數(shù)說(shuō)明參數(shù)含義-m 路徑指定 GGUF 模型文件路徑-ngl N將 N 層卸載到 GPU越大越快受顯存限制-c N上下文長(zhǎng)度默認(rèn) 4096設(shè)越大占 KV Cache 越多-n N最大生成 token 數(shù)-t NCPU 線(xiàn)程數(shù)純 CPU 推理時(shí)調(diào)整--flash-attn啟用 Flash Attention降低 KV Cache 顯存占用-i -ins進(jìn)入交互式指令跟隨模式llama-server一鍵啟動(dòng) OpenAI 兼容 API這是 llama.cpp 最重要的功能之一啟動(dòng)一個(gè)完全兼容 OpenAI API 格式的本地 HTTP 服務(wù)現(xiàn)有接入 OpenAI 的代碼只需改base_url即可指向本地?;A(chǔ)啟動(dòng)llama-server\-m./models/qwen3-8b-q4_k_m.gguf\--host0.0.0.0\--port8080\-ngl999啟動(dòng)后內(nèi)置 Web UIhttp://localhost:8080API 端點(diǎn)http://localhost:8080/v1/chat/completions模型列表http://localhost:8080/v1/models生產(chǎn)配置多并發(fā) Flash Attentionllama-server\-m./models/qwen3-8b-q4_k_m.gguf\--host0.0.0.0\--port8080\-ngl999\-c8192\--parallel4\--flash-attn\--api-keyyour-local-key參數(shù)說(shuō)明-c 8192總上下文長(zhǎng)度被并發(fā) slot 均分--parallel 4并發(fā)推理槽數(shù)同時(shí)處理 4 個(gè)請(qǐng)求--flash-attnFlash Attention減少 KV Cache 顯存 30–50%--api-key設(shè)置訪(fǎng)問(wèn)鑒權(quán) Key對(duì)外暴露時(shí)必須設(shè)置用 OpenAI SDK 調(diào)用本地服務(wù)fromopenaiimportOpenAI clientOpenAI(api_keyyour-local-key,# 與 --api-key 一致不鑒權(quán)時(shí)填任意字符串base_urlhttp://localhost:8080/v1,)completionclient.chat.completions.create(modelqwen3-8b-q4_k_m,# 填 model 名llama-server 自動(dòng)識(shí)別messages[{role:system,content:你是一位專(zhuān)業(yè)的代碼審查工程師。},{role:user,content:幫我審查這段 Python 代碼...},],)print(completion.choices[0].message.content)Node.js 同樣適用只需將baseURL指向http://localhost:8080/v1。顯存不足怎么辦層卸載調(diào)參llama.cpp 的核心優(yōu)勢(shì)之一是CPUGPU 混合推理當(dāng)顯存不夠裝下整個(gè)模型時(shí)可以通過(guò)-ngl控制卸載到 GPU 的層數(shù)剩余層在 CPU 內(nèi)存中運(yùn)行速度下降但不會(huì)崩潰。調(diào)參策略# 先試全量 GPU-ngl 999如果 OOMllama-server-mmodel.gguf-ngl999# OOM# 逐步降低 -ngl 值找到不 OOM 的最大值llama-server-mmodel.gguf-ngl32# 32 層到 GPU其余 CPUllama-server-mmodel.gguf-ngl20# 繼續(xù)降低其他節(jié)省顯存的手段選更低量化版本Q4_K_S 比 Q4_K_M 小約 10%縮減上下文-c 2048比-c 8192節(jié)省約 75% KV Cache 顯存啟用 Flash Attention--flash-attnKV Cache 顯存減少約 30–50%使用更小參數(shù)量模型3B 量化版比 7B 顯存需求減半多 GPU 配置多張 NVIDIA GPU 時(shí)llama.cpp 默認(rèn)在全部可用 GPU 上均勻分層??梢酝ㄟ^(guò)CUDA_VISIBLE_DEVICES環(huán)境變量控制使用哪幾張# 只使用 GPU 0 和 GPU 1CUDA_VISIBLE_DEVICES0,1llama-server-mmodel.gguf-ngl999多 GPU 拆分模式詳見(jiàn)官方docs/multi-gpu.md。常見(jiàn)問(wèn)題QGGUF 文件去哪里下載主要來(lái)源HuggingFacehuggingface.co搜索模型名 GGUF通常找ggml-org/、bartowski/或模型原始倉(cāng)庫(kù)下的 GGUF 分支國(guó)內(nèi)可通過(guò) ModelScopemodelscope.cn鏡像下載速度更快。Q-ngl 999和-ngl 0有什么區(qū)別-ngl 999 盡可能多地把模型層卸載到 GPU受顯存限制自動(dòng)截?cái)?ngl 0 全 CPU 推理完全不使用 GPU。通常設(shè)-ngl 999讓 llama.cpp 自動(dòng)決定能卸多少層。Qllama-server 啟動(dòng)后 Web UI 沒(méi)有響應(yīng)檢查①--host是否寫(xiě)了0.0.0.0默認(rèn) 127.0.0.1 不對(duì)外②端口是否被占用換--port 8081③設(shè)了--api-key但瀏覽器沒(méi)有帶 Token 訪(fǎng)問(wèn)。Q模型輸出是亂碼或者語(yǔ)言錯(cuò)誤通常是-c上下文設(shè)置過(guò)小被截?cái)嗷蛘呦到y(tǒng)提示詞語(yǔ)言與用戶(hù)語(yǔ)言不一致。另外部分模型有 chat_template使用-i -ins參數(shù)確保使用了正確的對(duì)話(huà)格式。Qllama.cpp 和 vLLM 怎么選llama.cpp單機(jī)本地部署、顯存有限、需要量化、以 GGUF 為格式適合個(gè)人開(kāi)發(fā)者和邊緣設(shè)備vLLM高并發(fā)生產(chǎn)服務(wù)、A100/H100 級(jí) GPU、需要 PagedAttention 提升吞吐量適合企業(yè)規(guī)模推理服務(wù)。兩者定位不同llama.cpp 在資源受限場(chǎng)景下是首選。Q企業(yè)有 GPU 服務(wù)器但不想自己維護(hù)推理服務(wù)有什么替代方案可以選擇支持多家國(guó)產(chǎn)開(kāi)源模型的 API 平臺(tái)統(tǒng)一 OpenAI 格式接入無(wú)需維護(hù)推理基礎(chǔ)設(shè)施。代碼調(diào)用方式與 llama-server 相同只需將base_url和api_key替換為平臺(tái)提供的值如七牛云 Token Planqiniu.com/ai/plan覆蓋 DeepSeek / Kimi / GLM / MiniMax 四家共 25 個(gè)模型。小結(jié)llama.cpp 是當(dāng)前最成熟的本地大模型推理引擎安裝方面macOS 用brew install llama.cppWindows 用 Winget 或 GitHub Release 預(yù)編譯包10 分鐘內(nèi)可完成部署模型方面Q4_K_M 是性?xún)r(jià)比最高的量化選擇6–8 GB 顯存可流暢運(yùn)行 7B 模型API 服務(wù)方面llama-server一行命令啟動(dòng) OpenAI 兼容接口現(xiàn)有代碼零改動(dòng)接入本地性能不足時(shí)先用--flash-attn降 KV Cache 開(kāi)銷(xiāo)再用-ngl混合 CPU/GPU 推理幾乎在所有硬件上都能找到可用配置。本文基于 llama.cpp b103692026-08-12項(xiàng)目更新活躍最新參數(shù)以官方 GitHub 文檔為準(zhǔn)。延伸閱讀llama.cpp 官方倉(cāng)庫(kù)ggml-orghttps://github.com/ggml-org/llama.cppllama.cpp 安裝文檔install.mdhttps://github.com/ggml-org/llama.cpp/blob/master/docs/install.mdllama.cpp 編譯文檔build.mdhttps://github.com/ggml-org/llama.cpp/blob/master/docs/build.mdQwen 官方 llama.cpp 接入指南https://qwen.readthedocs.io/zh-cn/latest/run_locally/llama.cpp.html