← All Tools
vLLM VS Ollama

vLLM 与 Ollama

vLLM 和 Ollama 都是用于在本地或自有基础设施上运行开源 LLM 的流行方案,但它们服务于截然不同的使用场景。vLLM 是一款高性能推理服务器,专为大规模生产环境中的 API 服务而设计;Ollama 则主打在开发者笔记本和个人设备上使用的便捷性。理解两者的区别对于为你的部署选择合适工具至关重要。

Curated by 评测编辑:玄尘子 🗓 Updated: ⭐ vLLM: 90k+ stars ⭐ Ollama: 179k+ stars

⚡ TL;DR——30秒速览

本地开发、个人使用或入门开源 LLM 时选用 Ollama——一条命令即可完成安装,是最简便的运行方式。生产环境中的 API 服务则使用 vLLM,特别是在需要高吞吐量、多用户并发或部署在云 GPU 上的场景。性能差异十分显著:vLLM 的 PagedAttention 在高负载下比朴素推理的吞吐量高出 2 到 24 倍。

快速对比

特性 vLLM Ollama
主要用途 生产环境 API 服务 本地开发与个人使用
吞吐量(多用户) 优秀——PagedAttention 有限——专注单请求
设置复杂度 中等——需要 CUDA GPU 非常简单——一条命令
系统支持 Linux (CUDA) / Windows 上的 WSL2 macOS、Windows、Linux
Apple Silicon (M1/M2/M3) ✗ 不支持 ✓ 原生 Metal 支持
OpenAI 兼容 API ✓ 完全兼容 ✓ 完全兼容
模型管理 手动下载 HuggingFace 模型 ✓ 用 ollama pull 拉取
并发请求 ✓ 连续批处理 默认串行处理
内存效率 优秀——PagedAttention KV 缓存 良好
生产就绪程度 ✓ 在生产环境中大规模使用 非为生产环境服务设计
vLLM ★ 90k+ GitHub Stars View on GitHub ↗ Ollama ★ 179k+ GitHub Stars View on GitHub ↗

什么是 vLLM?

vLLM 是专为大语言模型构建的高吞吐量、内存高效的推理与服务引擎,由加州大学伯克利分校的研究人员开发。其核心创新在于 PagedAttention 算法——这一受操作系统虚拟内存分页机制启发的算法,能够比以往方法更高效地管理 KV(键值)缓存。在多重用户负载下,vLLM 能在同等 GPU 硬件上服务 24 倍于 HuggingFace Transformers 的请求量。当需要支持多并发用户时,vLLM 已成为生产级 LLM API 服务的实际标准。它提供与 OpenAI 兼容的 API 服务器,可无缝替换你现有应用中的 OpenAI API。

要在大规模环境下运行实时聊天机器人 API,就需要依赖 vLLM 的 PagedAttention 优化,其吞吐量比传统推理方式高出 24 倍。与 TensorRT-LLM 的复杂性不同,vLLM(Star 数超 8.5 万)在保持性能的同时优先考虑部署便捷性。若需要在边缘设备上实现亚毫秒级延迟,建议探索其他方案,因为 vLLM 主要针对数据中心效率而非资源受限环境设计。

—— 中国吧 AI Tools Hub 编辑部关于 vLLM 的评价

→ 阅读完整的 vLLM 评测

什么是 Ollama?

Ollama 让你像运行一条终端命令那样简单地在本机运行大型语言模型。专为开发者笔记本和个人电脑设计,它抽象化了模型格式、量化及推理配置的复杂性。只需执行 `ollama pull llama3`,你可以在一分钟内下载并运行一个模型。Ollama 支持 macOS(含通过 Metal 实现的苹果芯片原生支持)、Windows 和 Linux 系统。它在本地提供与 OpenAI 兼容的 REST API,可轻松配合 Continue、Open WebUI 和 LangChain 等现有工具使用。Ollama 底层基于 llama.cpp 实现 CPU 推理,并在可用时支持 GPU 加速。

开发隐私敏感应用需要本地推理且无需云依赖——相比手动编译,Ollama 一个命令搞定 100+ 模型的配置,轻松得多。不同于 LM Studio 的 GUI 优先策略,Ollama 更侧重 CLI 自动化和脚本化。如果你需要在消费级硬件上进行实时模型切换或 RLHF 微调,可以跳过它,因为其 175k+ stars 反映的是生产稳定性而非高级训练功能。

—— 中国吧 AI Tools Hub 编辑团队关于 Ollama 的点评

→ 阅读完整的 Ollama 评测

何时选择各自

选择 vLLM 如果你…

  • 正在构建需要服务多个并发用户的生产 API
  • 拥有云 GPU 基础设施(A100、H100、RTX 4090 等)
  • 负载下的吞吐量和延迟是关键需求
  • 需要在生产规模下服务 7B+ 模型
  • 在数据中心或云的 Linux 服务器上进行部署

选择 Ollama 如果你…

  • 是开发者,在笔记本电脑上本地运行模型
  • 使用搭载 Apple Silicon 的 Mac(M1/M2/M3)
  • 追求最简单的配置体验
  • 刚开始接触开源 LLM
  • 为个人使用或小规模开发运行模型

负载下的性能

vLLM 与 Ollama 最重要的区别在于并发负载下的表现。Ollama 默认按顺序处理请求——多个请求同时到达时会排队,逐个等待前一个完成。vLLM 使用连续批处理和 PagedAttention 同时处理多个请求,大幅提升吞吐量。基准测试显示,单张 A100 上 vLLM 服务 Llama 3 8B 可高效处理 50+ 并发请求;而同款硬件上的 Ollama 只能逐个处理。单用户场景下差异微乎其微,生产服务则是质的飞跃。

安装与配置

Ollama 在易用性上完胜。任何系统上安装只需一条命令,模型用 ollama pull 即可下载. 无需 CUDA 配置,无需 Python 环境管理,无需从 HuggingFace 手动下载模型。vLLM 需要配备 NVIDIA GPU(CUDA 11.8+)的 Linux 系统、Python 环境,以及了解如何为你的使用场景配置服务器参数。对于没有 Linux GPU 服务器的 Mac 或 Windows 开发者来说,vLLM 根本不是一个选项——Ollama 是唯一的本地 LLM 解决方案。

OpenAI API 兼容性

两款工具都提供 OpenAI 兼容的 REST API,这意味着你现有的调用 openai.ChatCompletion.create() 的代码只需修改一个 base_url,就能指向 vLLM(http://localhost:8000/v1)或 Ollama(http://localhost:11434/v1)。这种兼容性让两款工具都能作为开发和本地模型测试时直接替换的方案,无需为 API 调用付费。LangChain、LlamaIndex、Open WebUI 和 Continue 等工具都支持 OpenAI 兼容端点,能无缝配合 vLLM 和 Ollama 使用。

常见问题

vLLM 比 Ollama 好吗? ▼
这取决于你的使用场景。vLLM 更适合多用户并发的生产环境推理——其 PagedAttention 技术可提供 2-24 倍更高的吞吐量。Ollama 更适合个人开发者在本地使用 LLM 进行开发和日常使用。可以这样理解:Ollama 是给笔记本用的,vLLM 是给服务器用的。
Ollama 能用于生产环境吗? ▼
Ollama 并非为生产环境的多用户 API 服务而设计。它缺乏针对并发负载优化的连续批处理和请求队列机制。对于生产用途,vLLM、TGI(HuggingFace)或配合 gunicorn 的 llama-cpp-python 是更好的选择。Ollama 非常适合本地开发和原型搭建。
vLLM 能在 Mac 上运行吗? ▼
不行,vLLM 需要带有 NVIDIA CUDA GPU 的 Linux 系统,不支持 macOS 或 Apple Silicon。对于需要在 Mac 上本地运行 LLM 的用户,Ollama 是正确的选择——它通过 Metal 原生支持 Apple Silicon,在 M1/M2/M3 Mac 上表现优秀。
我可以同时使用 vLLM 和 Ollama 吗? ▼
可以,常见的用法是在开发阶段本地使用 Ollama(在笔记本上使用方便),在生产环境使用 vLLM(为大量用户提供服务的高吞吐量方案)。两者都提供 OpenAI 兼容的 API,因此切换时只需修改 base_url 配置项即可。
vLLM 支持哪些模型? ▼
vLLM 支持 HuggingFace 上所有主流的基于 transformer 的模型,包括 Llama 3、Mistral、Mixtral、Phi-3、Gemma、Qwen2 等。模型支持持续更新中,请查阅 vLLM 官方文档获取当前支持架构列表。模型直接从 HuggingFace 格式加载,而非 Ollama 和 llama.cpp 使用的 GGUF 格式。