发现 AI 代理的未来arrow_forward

llama.cpp

calendar_today收录于 2026年4月23日
category模型与推理框架
code开源
Python大语言模型CLI模型与推理框架模型训练/推理协议/API/集成

纯 C/C++ 实现的跨平台大语言模型推理框架,通过自研 GGUF 格式与多硬件后端支持,实现从边缘设备到云端的极简部署与高性能量化推理。

项目概述#

llama.cpp 是由 ggml-org 维护的纯 C/C++ 实现跨平台大语言模型推理框架,聚焦于推理执行与格式转换,不涉及模型训练。通过自研 GGUF 模型格式与广泛的硬件后端支持,实现从边缘设备到云端的高性能量化推理部署。

核心能力#

硬件与后端适配#

  • Apple Silicon:Metal 框架一等公民支持,结合 ARM NEON 与 Accelerate
  • 主流 GPU:NVIDIA (CUDA 自定义内核)、AMD (HIP)、Intel/NVIDIA (SYCL)、通用 GPU (Vulkan)、Adreno (OpenCL)
  • 国产/特定算力:摩尔线程 (MUSA)、昇腾 (CANN)
  • CPU 多路线:BLAS / BLIS / ZenDNN / IBM zDNN 等
  • 演进中后端:OpenVINO (Intel)、WebGPU、Hexagon (Snapdragon)(标注为 In Progress)

推理优化#

  • 量化支持:涵盖 1.5-bit 至 8-bit 整数量化,大幅降低内存占用
  • 异构混合推理:模型体积大于 VRAM 时,支持部分层卸载至 GPU 加速
  • 推测解码:服务端支持 Speculative Decoding

模型格式与服务#

  • GGUF 格式:自研模型存储格式,支持从 HuggingFace 等主流格式转换
  • OpenAI 兼容 APIllama-server 提供 /v1/chat/completions 等标准接口,支持多用户并行
  • 多模态推理:已集成视觉-语言多模态支持(如 HunyuanVL)
  • 向量与排序:可作为 Embedding 与 Reranking 服务端点
  • 格式约束:通过 GBNF 语法定义输出结构(如 JSON Schema)

典型应用场景#

场景说明
本地 LLM 推理在笔记本/桌面端运行量化 LLM,无需 GPU 服务器
OpenAI 兼容 API 服务快速搭建本地 ChatGPT 兼容接口,对接现有应用
边缘设备推理Android、iOS、Snapdragon 等移动/嵌入式端部署
模型评估与基准测试llama-perplexity 测困惑度,llama-bench 做性能基准
模型量化与格式转换将 HuggingFace 模型转为 GGUF 格式
开发者集成提供 C/C++ 库、XCFramework 预编译库、Python 绑定

架构设计#

  • 底层计算核心:基于 ggml 张量运算库,llama.cpp 为其主要试验场
  • 核心 API 层libllama 封装推理逻辑;libllama-common 提供公共工具
  • 服务端llama-server 采用单头文件 HTTP 库 cpp-httplib 实现
  • 多模态子系统:图像解码 (stb-image)、音频解码 (miniaudio.h)、JSON 解析 (nlohmann/json),均通过单头文件内聚
  • 格式转换管线convert_*.py 脚本群与 gguf-py 工具包协同
  • 构建体系:全面采用 CMake + CMakePresets,GitHub Actions 多平台自动化测试

安装与使用#

安装方式brew / nix / winget 包管理器、Docker 容器、预编译二进制下载、CMake 源码编译

快速命令

llama-cli -m my_model.gguf
llama-cli -hf ggml-org/gemma-3-1b-it-GGUF
llama-server -hf ggml-org/gemma-3-1b-it-GGUF

核心工具集

  • llama-cli:主交互工具,对话/补全/实验
  • llama-server:OpenAI 兼容 HTTP 服务器,默认端口 8080
  • llama-perplexity:困惑度及质量指标测量
  • llama-bench:推理性能基准测试
  • llama-simple:极简示例供开发者参考

开发者体验#

  • IDE 集成:VS Code 扩展及 Vim/Neovim 插件,支持指令补全 (FIM)
  • 多语言绑定:原生 C/C++ 库 + Python 绑定 + Apple XCFramework 预编译包
  • Swift 集成:通过 XCFramework 二进制包引入,无需从源码编译

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch