llama.cpp:本地运行大模型的开源工具

12 阅读2分钟

llama.cpp:本地运行大模型的开源工具

ggml-org开源的llama.cpp项目,目前获得了109,089个Star。

正文顶部截图

llama.cpp是用于大语言模型推理的C/C++工具集,核心目标是在各类硬件上实现低门槛、高性能的大模型运行能力,覆盖本地设备和云端环境。

项目采用纯C/C++实现,没有外部依赖。针对不同硬件架构做了专门优化,苹果芯片通过ARM NEON、Accelerate和Metal框架优化,x86架构支持AVX、AVX2、AVX512和AMX指令集,RISC-V架构支持RVV、ZVFH等扩展指令集。

README区域截图

llama.cpp支持1.5位到8位的整数量化技术,可大幅降低模型内存占用,提升推理速度。同时支持CUDA、HIP、MUSA、Vulkan、SYCL等多种后端,可在NVIDIA、AMD、摩尔线程等不同厂商的GPU上运行,还支持CPU+GPU混合推理,应对模型容量超出显存的场景。

项目支持几乎所有主流大模型,包括LLaMA系列、Mistral、Mixtral MoE、Qwen、Gemma、ChatGLM等上百种文本模型,也支持LLaVA、Qwen2-VL等多模态模型,覆盖绝大多数开源大模型生态。

项目自带多个核心工具组件。llama-cli是命令行交互工具,可直接运行本地模型,也支持直接从Hugging Face下载模型运行,内置对话模式,支持自定义聊天模板和语法约束。llama-server是轻量级HTTP服务器,兼容OpenAI API协议,可对外提供大模型服务,支持多用户并发、推测解码、嵌入模型和重排序模型部署。llama-perplexity用于测量模型在指定文本上的困惑度,评估模型质量。llama-bench用于推理性能基准测试,可输出不同参数下的推理速度数据。

安装使用llama.cpp有多种方式,可通过brew、nix、winget等包管理器直接安装,也可使用Docker镜像运行,或下载预编译二进制文件,也可克隆源码自行编译。

运行模型只需指定模型文件路径即可,示例命令:llama-cli -m model.gguf。也可直接拉取Hugging Face上的模型运行:llama-cli -hf ggml-org/gemma-3-1b-it-GGUF。启动API服务只需运行llama-server -m model.gguf --port 8080,即可通过浏览器访问内置Web UI,或调用兼容OpenAI协议的接口。

项目提供多语言绑定,覆盖Python、Go、Node.js、Rust、C#、Java等十几种编程语言,方便开发者集成到各类应用中。基于llama.cpp的第三方UI工具超过50个,包括Ollama、LM Studio、LocalAI等知名项目,形成了完整的本地大模型生态。

开源地址:github.com/ggerganov/l…