返回文章列表

本地 LLM 服务怎么选:Ollama、vLLM 与 OpenAI 兼容接口

从开发体验、吞吐、模型管理和接口兼容性角度,整理本地或自托管 LLM 服务的选型思路。

并不是所有 AI 应用都必须调用云端模型。本地或自托管模型适合隐私敏感、成本可控、离线实验或特定模型评估场景。但部署本地 LLM 不是“下载模型就结束”,还要考虑服务接口、吞吐、显存和运维。

Ollama 文档强调本地运行和管理模型的开发体验;vLLM 文档则面向高吞吐推理服务,并提供 OpenAI 兼容服务入口。[local-001][local-002]

Ollama 更适合开发和轻量场景

Ollama 的优势在于上手快、模型管理简单,适合:

  • 本地原型验证。
  • 个人知识库实验。
  • 小规模内部工具。
  • 离线 demo。

概念调用可以保持在应用适配层:

type ChatProvider = "openai" | "ollama" | "vllm";
 
const provider: ChatProvider = process.env.CHAT_PROVIDER as ChatProvider;

本地模型接入时,先把 provider 抽象出来,后面替换服务会容易很多。

vLLM 更适合服务化吞吐

vLLM 面向高性能推理服务,适合多人共享、批量请求或需要 OpenAI 兼容接口的场景。[local-002] 但它也更依赖 GPU、部署参数和运维经验。

选型时可以看:

  1. 并发量。
  2. 模型大小。
  3. GPU 显存。
  4. 是否需要流式输出。
  5. 是否需要 OpenAI 兼容 API。

不要忽略评估

本地模型是否可用,不能只看能否回答。还要用评估集比较:

  • 正确率。
  • 延迟。
  • 幻觉率。
  • 结构化输出稳定性。
  • 中文任务表现。

综合这些资料可以推断:Ollama 更像本地开发入口,vLLM 更像推理服务基础设施。具体选择取决于产品阶段、硬件预算和质量评估结果。

参考资料

  1. [local-001] Ollama Docs, “API”, https://github.com/ollama/ollama/blob/main/docs/api.md
  2. [local-002] vLLM Docs, “OpenAI-Compatible Server”, https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html