# 本地要跑大模型推理服务，vLLM 官方怎么把最小路径跑通？

**URL:** <https://www.shiqidu.com/t/topic/2081>\
**Category:** 人工智能\
**Tags:** 编程, AICoding, 问与答, 开源软件, Python\
**Created:** [2026 年11 月 14 日 11:48 UTC](https://www.shiqidu.com/t/topic/2081 "2026-11-14T11:48:55Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![shiqidu\_editor](https://www.shiqidu.com/user_avatar/www.shiqidu.com/shiqidu_editor/32/528_2.png) [@shiqidu\_editor](https://www.shiqidu.com/u/shiqidu_editor)\
发布日期： [2026 年11 月 14 日 11:48 UTC](https://www.shiqidu.com/t/topic/2081/1 "2026-11-14T11:48:55Z")

</div>

给应用调一个本机的推理接口，和先打开一个对话客户端，不是同一条路。已经导出成 ONNX、只在本机把这种格式跑一遍，也不是这件事。本机对话或模型服务入口可以看站内这篇 [Ollama](https://www.shiqidu.com/t/topic/2018)。已经导出成 ONNX、只谈这种格式的运行时，是 [ONNX Runtime](https://www.shiqidu.com/t/topic/2066)。这里只按 vLLM 官方把最小的推理服务路径跑通。

[vLLM 文档首页](https://docs.vllm.ai/en/latest/) 把它写成用于 LLM 推理和提供服务的库，最初在加州大学伯克利分校的 Sky Computing Lab 开发。要跑开源模型，官方建议从 [Quickstart](https://docs.vllm.ai/en/latest/getting_started/quickstart/) 开始。若目标是在它之上写应用，首页另指向 User Guide，构建项目本身则指向 Developer Guide。这两页都在 `docs.vllm.ai` 的 latest 路径下，页顶会提示当前看的是最新开发预览文档，并提供指向稳定版文档的链接。下面的安装和启动命令都抄自这份 Quickstart，不另写未打开页面里的硬件支持细节或吞吐数字。

Quickstart 的前提写成：操作系统是 Linux，Python 为 3.11 到 3.14。页里也注明在 macOS 上可通过 vLLM-Metal 使用 Apple Silicon 的 GPU 加速。它用 MLX 而不是 PyTorch 作为计算后端，并需要 Hugging Face 上 mlx-community 的优化模型。更细的步骤要到安装指南的 Apple Silicon 分页去看。NVIDIA GPU 的安装，官方推荐用 uv 建环境，示例是：

```auto
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
vllm download-kernels

```

`--torch-backend=auto` 会按已安装的 CUDA 驱动选择 PyTorch 索引，也可以改成指定后端，例如 `cu126`。`vllm download-kernels` 用来装预编译内核。官方写若放到启动时再下载编译，在 Hopper 及更新的 GPU 上可能多花几分钟。这是官方对启动耗时的说明，并没有给出吞吐或显存占用的数字。不想留下长期环境时，同一页还写了 `uv run --with vllm vllm --help` 这种一次性跑法。也可以先用 conda 建名为 `myenv`、Python 3.12 的环境，再在其中安装 uv，并用同样的 `uv pip install vllm --torch-backend=auto`。同一页还按 AMD、Intel GPU、TPU、昇腾、Apple Silicon 分成不同安装标签，第一次若是 CUDA 环境，按上面这条即可。非 CUDA 平台官方指向 Installation 指南，那些分页这里没有展开。

Quickstart 分离线批量推理和在线服务两条。只要 HTTP 服务，走后一条。官方写 vLLM 可以起一个实现了 OpenAI API 协议的服务，当作现有 OpenAI API 调用的替换。默认为 `http://localhost:8000`，地址可用 `--host`、`--port` 修改。一次托管一个模型，并实现 list models、create chat completion、create completion 等端点。启动示例是：

```auto
vllm serve Qwen/Qwen2.5-1.5B-Instruct

```

随后可用 `curl http://localhost:8000/v1/models` 查看模型列表。官方给出的补全请求示例是向 `/v1/completions` 提交 JSON，其中包含 `model`、`prompt`（示例写成 `"San Francisco is a"`）、`max_tokens` 和 `temperature`。对话则打 `/v1/chat/completions`，`messages` 里带 `system`、`user` 这类角色。也可以把 `openai` Python 包的 `base_url` 指到 `http://localhost:8000/v1`。文档示例里把 `api_key` 写成 `"EMPTY"`。需要校验请求时，可用 `--api-key` 或环境变量 `VLLM_API_KEY`，`--api-key` 可以传多把钥匙，服务端接受其中任意一把。默认会使用 tokenizer 里预置的 chat template，也默认在模型仓库存在 `generation_config.json` 时采用其中推荐的采样参数。若要改用 vLLM 自己的默认值，启动时加 `--generation-config vllm`。

离线批量推理是同一页里的另一条路径，用 `LLM` 和 `SamplingParams` 在进程内调用 `generate`，示例模型是 `facebook/opt-125m`，不经过这台 HTTP 服务。官方首页还写明它能衔接常见的 Hugging Face 模型，并提供兼容 OpenAI 的 API 服务，另外也提到 Anthropic Messages API 和 gRPC。Quickstart 演示的是 OpenAI 兼容这一条，本篇按这条把服务拉起来。模型默认从 Hugging Face 下载。若改用 ModelScope，要在初始化引擎前设置环境变量 `VLLM_USE_MODELSCOPE=True`。首页还列了多种硬件和一批受支持的模型架构，那些不是把最小路径跑通所必须核对的数字或选型依据，硬件支持和吞吐数字这里不另外引用。

你是打算按文档示例起 `Qwen2.5-1.5B-Instruct` 这只服务，还是已经有要换成自己的模型名？
