标签: GGUF

  • llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    📝 项目简介

    llama.cpp 是一个用纯 C/C++ 实现、零外部依赖的大语言模型(LLM)推理引擎。它让你无需 Python 环境、无需昂贵显卡,就能在笔记本、树莓派甚至手机上高性能地运行 LLaMA、Qwen、Gemma、Mistral 等主流开源模型——可以说,它是当下几乎所有「本地跑大模型」工具的底层基石。

    🌐 官网:https://llama.app

    📦 GitHub:https://github.com/ggml-org/llama.cpp

    ⭐ Stars:119.5K+

    📄 开源协议:MIT License

    💻 主要语言:C / C++

    💻 安装要求和过程

    环境要求

    • C/C++ 编译器:GCC / Clang / MSVC,支持 C++11 及以上
    • CMake 3.8+:从源码构建时需要
    • 可选 GPU 后端:CUDA(NVIDIA)、ROCm(AMD)、Metal(Apple Silicon)、Vulkan、SYCL 等,用于硬件加速
    • 可选 Python 3:仅用于模型格式转换脚本 convert_*.py
    • 支持平台:macOS / Linux / Windows,以及 iOS、Android、浏览器(WASM)等

    快速安装步骤

    方式一:包管理器一键安装(推荐新手)

    # macOS
    brew install llama.cpp
    
    # Windows
    winget install llama.cpp
    
    # Conda
    conda install -c conda-forge llama-cpp

    方式二:Docker 运行(自带 API 服务)

    docker run -p 8080:8080 -v ./models:/models \
      ghcr.io/ggml-org/llama.cpp:server -m /models/your_model.gguf

    方式三:从源码构建

    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp
    cmake -B build
    cmake --build build --config Release

    快速开始:下载并运行一个模型

    # 命令行对话(自动从 Hugging Face 拉取 GGUF 模型)
    llama-cli -hf ggml-org/gemma-3-1b-it-GGUF
    
    # 启动 OpenAI 兼容的 API 服务(含简易 WebUI)
    llama-server -hf ggml-org/gemma-3-1b-it-GGUF --port 8080

    ✨ 核心功能

    1. 🪶 纯 C/C++ 零依赖,极致轻量

    不依赖 PyTorch、不依赖 Python 运行时,编译出一个二进制文件即可运行。极小的体积和无依赖特性,让它可以被移植到几乎所有计算设备——这正是它能跑在树莓派和手机上的根本原因。

    2. ⚡ 全平台硬件加速与混合推理

    针对 Apple Silicon(Metal / ARM NEON)、x86(AVX2 / AVX-512 / AMX)、RISC-V 等架构做了深度优化;支持 NVIDIA(CUDA)、AMD(ROCm)、摩尔线程(MUSA)、Vulkan、SYCL、OpenCL 等多种后端。CPU+GPU 混合推理甚至能运行超过显存容量的超大模型。

    3. 🗜️ GGUF 格式与 1.5~8 bit 量化

    模型统一封装为 GGUF 格式,并支持从 1.5-bit 到 8-bit 的整数量化。量化后显存与内存占用大幅下降,让消费级显卡甚至纯 CPU 也能流畅运行 70B 级别的大模型。

    4. 🔌 OpenAI 兼容 API 服务

    llama-server 提供与 OpenAI 完全兼容的 /v1 接口,并自带简易 WebUI。你现有的基于 OpenAI SDK 的应用几乎零改动就能切换到本地模型,彻底摆脱对云服务的依赖。

    5. 🧰 丰富的推理工具链

    内置 llama-bench(性能基准测试)、llama-perplexity(困惑度评估)、llama-quantize(模型量化)以及基于 GBNF 语法的约束解码(强制输出 JSON / 特定格式),覆盖从评测到生产的完整链路。

    🎯 典型使用场景

    场景一:在笔记本 / 手机上本地聊天,隐私数据不出端

    下载一个量化后的 Qwen 或 Gemma 模型,用 llama-cli 即可在断网环境下与 AI 对话。所有数据都在本地处理,特别适合处理合同、代码、笔记等敏感内容。

    场景二:自建私有 OpenAI 兼容推理服务

    在内网或离线环境中启动 llama-server,把本地模型包装成标准 API。前端应用、RAG 系统、Agent 框架(如 LangChain、Dify)都能直接对接,既保证数据合规,又省下云推理费用。

    llama-server -m models/qwen2.5-7b-instruct-q4_k_m.gguf --port 8080

    场景三:边缘设备与嵌入式部署

    在树莓派、工控机、车载设备上编译运行 llama.cpp,为 IoT 场景提供离线语音助手、本地知识问答等能力。配合量化技术,几百 MB 内存即可驱动一个可用的小模型。

    💡 推荐理由

    作为一名经常折腾本地大模型的开发者,我对 llama.cpp 的感情可以用「基石」二字形容。在它出现之前,想本地跑一个开源模型意味着安装几十 GB 的 PyTorch 环境,且基本只能在高端显卡上跑;llama.cpp 用纯 C/C++ 把这件事拉到了「人人可玩」的门槛。

    我的几点使用心得:

    • 它是整个生态的地基:Ollama、LM Studio、Jan、Open WebUI 乃至无数上层应用,底层推理几乎都调用了 llama.cpp。理解它,就理解了「本地 AI」的半壁江山。
    • 量化是性价比之王:7B 模型用 Q4_K_M 量化后体积不到 5GB,在普通笔记本上就能达到可用速度,是入门本地模型的最佳起点。
    • OpenAI 兼容接口太省心:一条 llama-server 命令就把本地模型变成标准 API,让我能把线上项目无痛切换到离线环境做.demo或内网部署。
    • 更新极快、社区极活跃:几乎每周都有新后端、新量化方法的合并,119K+ 的 Stars 背后是庞大而健康的贡献者群体。

    如果你想真正搞懂「大模型是怎么在本地跑起来的」,llama.cpp 是 2026 年依旧最值得 clone 一份源码、逐行读一读的开源项目。

    📥 下载地址

    🌐 官方网站:https://llama.app

    📦 GitHub 仓库:https://github.com/ggml-org/llama.cpp

    📚 官方文档:github.com/ggml-org/llama.cpp/docs

    🤗 GGUF 模型库:huggingface.co/ggml-org

    🐳 Docker 镜像:ghcr.io/ggml-org/llama.cpp


    📌 本文是《GitHub 热门 AI 开源项目》系列的第 95 期,每期介绍一个热门的 AI 开源项目。欢迎关注本栏目,获取更多优质开源项目介绍!

  • llama.cpp:90.4K Stars!本地大模型推理引擎,让普通电脑也能跑 AI

    llama.cpp:90.4K Stars!本地大模型推理引擎,让普通电脑也能跑 AI

    llama.cpp

    ⭐ 90.4K+ GitHub Stars

    💡 一句话介绍:llama.cpp 是用纯 C/C++ 编写的大语言模型推理框架,让普通电脑无需独立显卡就能运行大模型,是目前本地 AI 推理的基石项目。

    📦 项目简介

    llama.cpp 由 Georgi Gerganov 于 2023 年 3 月发布,最初的目标是在 Apple Silicon Mac 上用纯 CPU 运行 Meta 的 LLaMA 模型。项目发布后迅速引爆开源社区,截至目前已在 GitHub 收获 超过 9 万 Stars,成为本地大模型推理领域的事实标准。

    它的核心设计哲学是极简、高效与可移植——完全用 C/C++ 实现,没有任何 Python 依赖,单个可执行文件即可运行数十亿参数的大语言模型。它也是 GGUF 量化格式的发起者,这种格式已成为 Hugging Face 上量化模型的事实标准。

    今天,llama.cpp 不仅是开源项目,更是整个本地 AI 生态的底层引擎——LM Studio、Jan AI、KoboldCPP、Ollama(早期版本)等产品都在使用它作为推理后端。

    🔗 项目地址:https://github.com/ggml-org/llama.cpp

    📄 开源协议:MIT(完全免费,可商用)

    🌐 文档地址:https://llama-cpp.readthedocs.io/

    ⚙️ 安装要求与过程

    环境要求

    • 最低配置:4GB 内存即可运行 7B 量化模型(Q4_K_M)
    • 推荐配置:16GB 内存可运行 13B~70B 量化模型
    • GPU 加速:可选,支持 NVIDIA CUDA、Apple Metal、AMD ROCm、Vulkan
    • 操作系统:Windows / macOS / Linux / Android / iOS 全平台支持
    • 依赖:无需 Python,无需 Docker,无需任何运行时

    方式一:下载预编译文件(⭐ 推荐新手)

    步骤

    1. 访问 GitHub Releases 页面
    2. 下载对应操作系统的压缩包(Windows 选 llama-bn-x64.zip,macOS 选对应芯片版本)
    3. 解压后无需安装,直接使用命令行运行
    # 启动 OpenAI 兼容 API 服务(最常用)
    ./llama-server -m ./qwen2.5-7b-instruct-q4_k_m.gguf -c 4096 --port 8080
    
    # 启动交互式对话模式
    ./llama-cli -m ./model.gguf -p "你好,请介绍一下自己" -n 256
    
    # 启动后访问 http://localhost:8080 即可使用内置 Web UI

    方式二:pip 安装 llama-cpp-python(Python 用户)

    # 基础 CPU 版本
    pip install llama-cpp-python
    
    # NVIDIA GPU CUDA 加速版本
    CMAKE_ARGS="-DGGML_CUDA=on" pip install llama-cpp-python --upgrade --force-reinstall
    
    # macOS Apple Silicon Metal 加速版本
    CMAKE_ARGS="-DGGML_METAL=on" pip install llama-cpp-python --upgrade --force-reinstall
    
    # Python 调用示例
    from llama_cpp import Llama
    
    llm = Llama(
        model_path="./qwen2.5-7b-instruct-q4_k_m.gguf",
        n_ctx=4096,
        n_gpu_layers=-1  # -1 表示将所有层卸载到 GPU
    )
    output = llm("你好,请介绍 llama.cpp 的特色", max_tokens=256)
    print(output['choices'][0]['text'])

    方式三:从源码编译(进阶用户 / 自定义后端)

    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp
    
    # 编译(根据硬件选择参数)
    cmake -B build -DGGML_CUDA=ON   # NVIDIA GPU 版本
    # cmake -B build -DGGML_METAL=ON  # Apple Silicon 版本
    # cmake -B build                   # 纯 CPU 版本
    
    cmake --build build --config Release -j $(nproc)
    
    # 编译完成后可执行文件位于 build/bin/ 目录下

    ✨ 核心功能

    🔧 1. 纯 C/C++ 实现,零依赖部署

    整个项目只依赖 C 标准库和 C++ 标准库,编译后生成单个可执行文件。这意味着你可以把 llama-server 直接拷贝到任何同架构机器上运行,无需安装 Python、Conda 或任何运行时环境。对于生产环境部署来说,这是巨大的优势。

    📊 2. GGUF 量化格式支持(业界标准)

    llama.cpp 社区发明了 GGUF(GPT-Generated Unified Format)格式,支持 Q4_K_M、Q5_K_M、Q8_0、IQ4_XS 等多种量化精度。Q4 量化可将模型大小缩减至 FP16 版本的 25%,7B 模型仅需约 4GB 内存即可运行。目前 Hugging Face 上绝大多数模型都提供 GGUF 版本。

    🖥️ 3. 纯 CPU 运行能力

    这是 llama.cpp 最大的亮点——它针对 CPU 推理做了大量优化(AVX2/AVX-512、NEON 等指令集加速),使得在 Intel i5、Apple M 系列芯片、AMD Ryzen 等消费级 CPU 上也能流畅运行量化后的 LLM。对于没有独立显卡的用户,这是运行本地大模型的唯一选择。

    🚀 4. 多 GPU 后端加速

    通过 -ngl(n-gpu-layers)参数可指定将多少 Transformer 层卸载到 GPU,显存不足时也可通过部分 GPU 加速显著提升推理速度。支持的后端包括:NVIDIA CUDA、Apple Metal、AMD ROCm、Vulkan,甚至支持 WebGPU 在浏览器中运行。

    🔌 5. OpenAI 兼容 API Server

    内置 llama-server 模式,提供完全兼容 OpenAI API 格式的接口。这意味着你可以用完全相同的代码,在本地用 llama.cpp 替代 OpenAI 的 API,无缝对接 Open WebUI、SillyTavern、Continue.dev 等前端应用,无需修改任何代码。

    🌍 6. 广泛的模型架构支持

    覆盖绝大多数主流开源 LLM 架构,包括 Llama 3.x、Mistral、Mixtral MoE、Qwen 2.5/3、Gemma 2/3、Phi-4、DeepSeek V2/V3、Command-R 等。新模型发布后,社区通常数天内即可完成适配。

    🚀 典型使用场景

    场景一:隐私优先的本地助手

    对于对数据隐私有严格要求的个人和企业,llama.cpp 是最理想的选择。所有推理在本地完成,数据无需上传云端。结合 Open WebUI 作为前端,你可以在完全离线的状态下拥有一个功能完整的 AI 助手。

    # 启动本地 API 服务
    ./llama-server -m ./models/qwen2.5-7b-q4_k_m.gguf \
        -c 4096 -ngl 99 --port 8080
    
    # Open WebUI 连接本地服务
    open-webui serve  # 然后访问 http://localhost:3000
                     # 在设置中填写 API URL: http://localhost:8080/v1

    场景二:AI 应用的后端推理引擎

    如果你正在开发需要本地 LLM 能力的应用(如桌面软件、移动 App、嵌入式设备),llama.cpp 是最佳的推理引擎选择。它的 C/C++ 接口可以直接嵌入到你的应用中,无需启动外部服务。

    著名的 AI 编码助手 Continue.dev、本地 AI 助手 Jan AI、角色扮演工具 KoboldCPP 都使用 llama.cpp 作为底层推理引擎。

    场景三:低成本服务器部署

    对于想要搭建内部 AI 服务的团队,llama.cpp 可以在没有高端 GPU 的服务器上运行。一台配备 64GB 内存的普通服务器,就可以运行量化后的 70B 参数模型,为整个团队提供 LLM 推理服务。

    # 服务器部署:运行 70B 模型(需要约 40GB 内存)
    ./llama-server -m ./llama-3.3-70b-q2_k.gguf \
        -c 8192 --port 8080 -t 16  # -t 16 表示使用 16 个 CPU 线程

    📊 量化版本选择指南

    量化版本 模型大小(7B) 质量 适用场景
    Q8_0 ~7.5GB ⭐⭐⭐⭐⭐ 几乎无损 显存充足,追求最佳质量
    Q5_K_M ~5.5GB ⭐⭐⭐⭐ 非常接近 Q8 大多数场景的最佳平衡
    Q4_K_M ~4.5GB ⭐⭐⭐ 轻微质量下降 显存/内存有限的常规场景(推荐)
    IQ4_XS ~4.0GB ⭐⭐⭐ 智能量化,同大小质量更优 新一代推荐选择
    Q3_K_M ~3.5GB ⭐⭐ 质量下降较明显 内存严重受限的极端场景

    ⚠️ 注意:量化级别越低,推理质量下降越多。对于重要场景,建议使用 Q4_K_M 或更高质量;对于简单任务(如代码补全、分类),Q3 也是可以接受的。

    💡 推荐理由

    如果你问我”想要在本地运行大模型,应该从哪里开始?”,我的答案一定是 llama.cpp

    作为一个在开源社区活跃了多年的项目,llama.cpp 不仅技术上过硬,社区生态也极其丰富。它解决了本地 AI 推理的三个核心痛点:

    • 门槛低:不需要懂 Python,不需要配置环境,下载预编译文件解压就能用
    • 质量高:经过两年多的社区优化,推理速度和质量已经非常接近商业方案
    • 生态好:几乎所有主流本地 AI 工具都支持或基于 llama.cpp

    对我个人来说,llama.cpp 最有价值的地方在于它的 OpenAI 兼容 API。这让我的本地开发环境和云端开发环境可以用同一套代码——开发时连本地 llama.cpp,部署时换成一个环境变量指向 OpenAI,其他代码完全不用改。这种灵活性在今天这个 AI 工具链快速变化的时代,是非常宝贵的。

    另外,如果你对 AI 推理的底层原理感兴趣,llama.cpp 的源代码是最好的学习材料。它把 Transformer 推理的每一步都用 C 语言实现得清晰可读,比任何教科书都更直观。

    📌 适合人群:想要在本地运行大模型的 AI 爱好者、需要在无网环境下提供 LLM 能力的开发者、对 AI 推理性能优化感兴趣的研究者。

    📌 不适合人群:只想用图形界面、不想碰命令行的用户(建议直接用 LM Studio 或 Jan AI,它们底层用的就是 llama.cpp)。

    📥 下载地址

    提示:如果你不想自己编译或配置,可以直接使用基于 llama.cpp 封装的图形化工具:LM Studio(最友好的图形界面)、Jan AI(开源替代方案)、或 Ollama(命令行工具,我们之前介绍过)。它们的底层都是 llama.cpp,但提供了更简单的使用体验。