对比 Ollama

一句话:Ollama 优化的是本机开发体验;vLLM 优化的是 GPU 上的生产吞吐。 二者都能露出 OpenAI 风格 /v1,所以应用层可以先对着 Ollama 写,再把 base_url 切到 vLLM。权重与模型卡仍在 Hugging Face


对照表

维度OllamavLLM
产品目标安装包 + ollama run,本机(或 Cloud)聊天推理引擎 + HTTP 网关,打满数据中心 GPU
幸福硬件消费级 NVIDIA / Apple Silicon / 也能 CPUNVIDIA CUDA GPU 主路径;CPU 不是重点
批处理偏交互、单机连续批处理,多路并发
KV 缓存运行时自管PagedAttention 分页
模型格式Library 标签、常见 GGUF 量化HF 检查点、AWQ / GPTQ / FP8…
默认端口11434/api/v18000/v1
换模型ollama pull / 改标签--model、重新加载进程
多卡有限、偏单机--tensor-parallel-size
运维托盘、systemd 很轻要管 CUDA、共享内存、副本与限流
隐私默认本机回环,数据可不进云也是自托管;部署到集群后边界由你定

什么时候用 Ollama

  • 笔记本上改 prompt、演示、离线草稿
  • 希望 10 分钟内 ollama run 出回复
  • 团队没有 NVIDIA 服务器,或只有 Apple Silicon
  • Agent 开发阶段需要一个「够用的本机 OpenAI 兼容端」

走本站 Ollama 教程:安装 → run/v1。不必先学 PagedAttention。


什么时候换成 vLLM

  • 同时在线人数变多,Ollama 单机交互开始排队、GPU 利用率却上不去
  • 已经有 A10 / A100 / L40S / H100,希望 tokens/s 成为 SLA
  • 推理必须进公司 VPC,又要兼容现有 OpenAI SDK / LangChain
  • 离线对 很多 prompt 做批量生成(数据合成、评测),需要连续批处理

切换成本通常是:同一套 chat.completions 代码,改 base_urlmodel 字符串,然后在 GPU 机器上 vllm serve


Hugging Face 放在哪

问题去哪
搜未门控小模型、读许可和 TokenizerHugging Face 教程 与 Hub
微调 LoRA / 改结构Transformers + PyTorch,不是 vLLM 的主业
把训好的 Instruct 仓对外提供高 QPSvLLM(或同类引擎)
把同一仓给同事本机玩玩Ollama(若有对应 GGUF / 导入路径)或 Transformers 脚本

可以记成:Hub 存权重 → Ollama 本地玩 → vLLM 对外服务。


不要混用的坑

  • 把 Ollama 的模型名(如 gemma4)填进 vLLM 的 --model:vLLM 要的是 Hub ID 或本地目录。
  • 假设两边量化文件能互换:GGUF ≠ AWQ。
  • 在同一张消费级显卡上同时开 Ollama 和 vLLM:抢显存,先 ollama stop / 关掉另一个进程。
  • 用 vLLM 的 Docker 镜像当「图形化模型商店」:没有 Ollama Library 那种 UX。

迁移检查清单

  1. 在 Ollama 用 OpenAI SDK 打通业务路径。
  2. 未门控 的 HF Instruct 仓(本课:Qwen/Qwen2.5-0.5B-Instruct)在 vLLM 上 serve
  3. 只改 base_url=http://<gpu-host>:8000/v1model=
  4. 用生产级 prompt 对比质量;再开量化 / tp。
  5. 加上反向代理与限流,不要把 --api-key 当唯一防护。

下一步

评论