跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

大模型推理框架选型入门:Ollama、llama.cpp 与 vLLM 对比

综述由AI生成对比了 Ollama、llama.cpp 和 vLLM 三款大模型推理框架。Ollama 定位为开箱即用的模型管理工具,适合本地开发测试;llama.cpp 是追求极致轻量的 C++ 引擎,适用于边缘设备和 CPU 环境;vLLM 则是面向生产的高吞吐推理服务平台,支持高并发和分布式部署。文章通过架构分层、适用场景速查表及快速上手示例,帮助开发者根据硬件环境和业务需求选择合适的框架,并澄清了关于性能、格式支持等常见误区。

SparkGeek发布于 2026/4/5更新于 2026/5/2242 浏览

大模型推理框架选型入门:Ollama、llama.cpp 与 vLLM 对比

一、三大框架的技术定位

1.1 三层架构视角

如果把 LLM 推理技术栈比作一座大厦,三个框架分别位于不同的楼层:

┌─────────────────────────────────────────────────────────────┐ │ 应用层(第 3 层) │ │ ┌─────────────┐ │ │ │ Ollama │ ← 一键式模型管理,类似 Docker 的体验 │ │ └─────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ 推理引擎层(第 2 层) │ │ ┌─────────────┐ ┌─────────────────────────────────────┐ │ │ │ llama.cpp │ │ vLLM │ │ │ │ C++ 引擎 │ │ Python 推理服务平台 │ │ │ └─────────────┘ └─────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ 硬件加速层(第 1 层) │ │ CUDA / Metal / ROCm / AVX512 │ └─────────────────────────────────────────────────────────────┘ 

核心区别一句话总结:

  • Ollama:让开发者"开箱即用"的工具层
  • llama.cpp:追求极致轻量的 C++ 推理引擎
  • vLLM:面向生产的高吞吐推理服务平台
1.2 各框架的本质定位
维度Ollamallama.cppvLLM
本质模型管理工具推理引擎库推理服务框架
设计目标开发便捷跨平台兼容高吞吐服务化
核心用户开发者/研究者嵌入式工程师SRE/运维工程师
部署形态单二进制文件静态库/可执行文件Python 服务+API
1.3 Ollama 的真相:llama.cpp 的封装层

很多开发者不知道的是,Ollama 底层调用的正是 llama.cpp:

Ollama CLI → Modelfile 解析 → GGUF 模型下载 → llama.cpp 推理引擎

这意味着:

  • Ollama 的"简单"是有代价的——它隐藏了 llama.cpp 的精细调参能力
  • 在高并发场景下,Ollama 的 HTTP 层成为瓶颈
  • 生产环境建议绕过 Ollama,直接使用底层引擎

二、适用场景速查表

2.1 按使用场景选型
场景推荐框架理由
本地开发测试Ollama一键安装,Modelfile 灵活配置
MacBook Pro 本地跑 70Bllama.cppMetal 后端优化,统一内存优势
边缘设备/嵌入式llama.cppARM NEON 优化,低资源占用
高并发 API 服务vLLM连续批处理,PagedAttention
70B+ 大模型生产部署vLLMTP/PP 分布式支持完善
MoE 模型 (DeepSeek)vLLMEP 专家并行原生支持
CPU 兜底/降级链路llama.cpp跨平台稳定,GGUF 生态成熟
2.2 按硬件环境选型

无 GPU 环境:

# 唯一选择:llama.cpp ./llama-cli -m model.gguf --threads 32

单卡消费级 GPU(RTX 4090 24GB):

# 7B-13B 模型:vLLM 或 llama.cpp 均可# 70B 模型:必须用量化版 + vLLM vllm serve --model llama-70b-awq --quantization awq

多卡数据中心 GPU(A100/H100):

# vLLM 是最佳选择 vllm serve --model llama-405b --tensor-parallel-size 8

Apple Silicon(M1/M2/M3):

# llama.cpp Metal 后端最优 ./llama-cli -m model.gguf -ngl 99# 全部层卸载到 GPU

三、快速上手示例

3.1 Ollama:5 分钟跑起来
# 安装 curl -fsSL https://ollama.com/install.sh |sh# 拉取并运行模型 ollama run llama3.1:70b # 自定义 Modelfile cat > Modelfile <<'EOF' FROM llama3.1:70b PARAMETER temperature 0.7 PARAMETER top_p 0.9 SYSTEM "你是一个专业的编程助手" EOF ollama create my-model -f Modelfile
3.2 llama.cpp:从源码构建
# 克隆并编译 git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp make -j LLAMA_CUDA=1# NVIDIA GPU# 下载 GGUF 模型并运行 ./llama-cli \ -m models/llama-3.1-70b-Q4_K_M.gguf \ --ctx-size 32768\ --threads 32\ -ngl 99# GPU 层数,99 表示全部
3.3 vLLM:生产级部署
# pip 安装 pip install vllm # 启动服务 vllm serve meta-llama/Llama-3.1-70B \ --tensor-parallel-size 4\ --gpu-memory-utilization 0.85\ --max-model-len 32768\ --enable-prefix-caching # 调用 API curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json"\ -d '{ "model": "meta-llama/Llama-3.1-70B", "prompt": "Hello,", "max_tokens": 100 }'

四、常见误区澄清

误区 1:Ollama 可以替代 vLLM 用于生产

真相:Ollama 的 HTTP 层和调度逻辑在高并发下会成为瓶颈。实测数据显示,相同硬件下 vLLM 的吞吐量是 Ollama 的 3-5 倍。

误区 2:llama.cpp 比 vLLM 慢,应该被淘汰

真相:llama.cpp 在 CPU 推理和边缘设备场景下是最佳选择。它的跨平台能力和 GGUF 生态是 vLLM 无法替代的。

误区 3:vLLM 支持所有模型格式

真相:vLLM 主要支持 HuggingFace 格式(safetensors/bin),而 llama.cpp 专注于 GGUF。选型前需要确认模型格式支持。

参考资源

  • vLLM 官方文档
  • llama.cpp GitHub
  • Ollama 官方文档
  • PagedAttention 论文

目录

  1. 大模型推理框架选型入门:Ollama、llama.cpp 与 vLLM 对比
  2. 一、三大框架的技术定位
  3. 1.1 三层架构视角
  4. 1.2 各框架的本质定位
  5. 1.3 Ollama 的真相:llama.cpp 的封装层
  6. 二、适用场景速查表
  7. 2.1 按使用场景选型
  8. 2.2 按硬件环境选型
  9. 唯一选择:llama.cpp ./llama-cli -m model.gguf --threads 32
  10. 7B-13B 模型:vLLM 或 llama.cpp 均可# 70B 模型:必须用量化版 + vLLM vllm serve --model llama-70b-awq --quantization awq
  11. vLLM 是最佳选择 vllm serve --model llama-405b --tensor-parallel-size 8
  12. llama.cpp Metal 后端最优 ./llama-cli -m model.gguf -ngl 99# 全部层卸载到 GPU
  13. 三、快速上手示例
  14. 3.1 Ollama:5 分钟跑起来
  15. 安装 curl -fsSL https://ollama.com/install.sh |sh# 拉取并运行模型 ollama run llama3.1:70b # 自定义 Modelfile cat > Modelfile <<'EOF' FROM llama3.1:70b PARAMETER temperature 0.7 PARAMETER top_p 0.9 SYSTEM "你是一个专业的编程助手" EOF ollama create my-model -f Modelfile
  16. 3.2 llama.cpp:从源码构建
  17. 克隆并编译 git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp make -j LLAMACUDA=1# NVIDIA GPU# 下载 GGUF 模型并运行 ./llama-cli \ -m models/llama-3.1-70b-Q4K_M.gguf \ --ctx-size 32768\ --threads 32\ -ngl 99# GPU 层数,99 表示全部
  18. 3.3 vLLM:生产级部署
  19. pip 安装 pip install vllm # 启动服务 vllm serve meta-llama/Llama-3.1-70B \ --tensor-parallel-size 4\ --gpu-memory-utilization 0.85\ --max-model-len 32768\ --enable-prefix-caching # 调用 API curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json"\ -d '{ "model": "meta-llama/Llama-3.1-70B", "prompt": "Hello,", "max_tokens": 100 }'
  20. 四、常见误区澄清
  21. 误区 1:Ollama 可以替代 vLLM 用于生产
  22. 误区 2:llama.cpp 比 vLLM 慢,应该被淘汰
  23. 误区 3:vLLM 支持所有模型格式
  24. 参考资源
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ DFS 与 BFS 算法实战详解
  • 哈希表进阶:用哈希桶封装 unordered_set 和 unordered_map 及迭代器实现
  • Java 房屋租赁系统的设计与实现
  • Git 疑难问题诊疗指南
  • C++ 基础入门:从循环结构到算法初步
  • 大疆无人机反制手段解析:干扰枪与激光武器效果对比
  • GitHub 热榜日榜精选 (2026-01-10)
  • Windows 系统安装鸿蒙模拟器
  • 大模型 AI 产品经理学习路线:从零基础到精通指南
  • 宇树 Unitree 机器人 ROS 2 环境部署指南 (Humble + 真实硬件)
  • UniApp 真机测试:TabBar 隐藏与安全区适配解决方案
  • 哈希表原理与哈希桶实现详解
  • SpringBoot 集成 RabbitMQ 常见消息模式示例
  • 医疗 AI 场景下算法编程深度解析与完整 Python 程序实现
  • C++ 二叉搜索树原理与性能分析
  • 医疗 AI 中马尔科夫链的应用与 Python 实现
  • Linux 内核开发笔记:休眠唤醒、Proc 文件系统、调试与性能工具
  • Linux 基础:HTTPS 原理与加密机制详解
  • 无人机三维路径规划算法对比:蚁群、A*与RRT*的 Matlab 实战
  • Git 如何将特定提交合并到另一个分支?

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online