nano-vllm

轻量跑大模型,看懂推理全流程

nano-vllm 是一个轻量级的大语言模型推理引擎,旨在以极简的代码实现 vLLM 的核心功能。它解决了 vLLM 等大型推理框架依赖重、部署复杂的问题,让开发者可以快速理解 LLM 推理的完整流程,并在资源受限的环境中高效运行模型。核心能力包括:支持连续批处理(continuous batching)、PagedAttention 等关键优化技术,提供简洁的 API 接口,方便二次开发和教学研究。项目代码结构清晰,适合作为学习 LLM 推理原理的参考实现,同时也为生产环境提供了一种轻量级替代方案。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 15581
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队GeeeekExplorer
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型deep-learning,inference,llm,nlp,pytorch,transformer
GitHub 星标★ 15581
30天Star增速
HF 下载量
上线时间2025-06-09 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 20 分钟 部署方式:库/依赖 4 步

环境要求

  • Python 环境与 pip(README 未指定具体版本)
  • 已安装 PyTorch,模型推理依赖(技术栈含 pytorch)
  • 已安装 huggingface-cli,用于下载模型权重
  • 可用的 NVIDIA GPU(README 基准测试使用 RTX 4070 Laptop 8GB)
  • 足够的磁盘空间存放模型权重(示例为 Qwen3-0.6B)

安装与启动步骤

  1. 1安装 nano-vllm

    README 唯一给出的安装方式:直接从 GitHub 仓库通过 pip 安装,无需 clone 源码。

    pip install git+https://github.com/GeeeekExplorer/nano-vllm.git
  2. 2下载模型权重

    用 huggingface-cli 把 Qwen3-0.6B 权重拉到本地目录,--resume-download 支持断点续传。

    huggingface-cli download --resume-download Qwen/Qwen3-0.6B --local-dir ~/huggingface/Qwen3-0.6B/ --local-dir-use-symlinks False
  3. 3编写调用脚本

    按 README 示例导入 LLM 与 SamplingParams,把 /YOUR/MODEL/PATH 换成上一步的本地权重目录。

    from nanovllm import LLM, SamplingParams
    llm = LLM("/YOUR/MODEL/PATH", enforce_eager=True, tensor_parallel_size=1)
    sampling_params = SamplingParams(temperature=0.6, max_tokens=256)
    prompts = ["Hello, Nano-vLLM."]
    outputs = llm.generate(prompts, sampling_params)
    outputs[0]["text"]
  4. 4运行示例脚本

    仓库内 example.py 已给出完整用法,确认其中模型路径为本地真实路径后直接执行。

    python example.py

关键配置

配置项必填说明示例
模型路径(LLM 第一个参数)是指向本地模型权重目录,必须替换为真实路径~/huggingface/Qwen3-0.6B/
enforce_eager是示例中设为 True,关闭图捕获等激进优化以便运行True
tensor_parallel_size是张量并行份数,示例单卡设为 11
temperature否采样温度,值越高输出越随机0.6
max_tokens否单条生成的最大 token 数256

如何确认成功

脚本能正常打印 outputs[0]["text"] 的内容,即模型成功生成文本、推理流程跑通。

常见问题

Q:必须用 GPU 吗?

A:README 的基准测试跑在 RTX 4070 Laptop 8GB 上,未提供 CPU 运行说明,建议准备 NVIDIA GPU 环境。

Q:下载模型中断了怎么办?

A:README 命令带 --resume-download,可直接重跑同一条命令续传;也可指定其他本地目录避免重复下载。

Q:和 vLLM 的接口一样吗?

A:API 基本对齐 vLLM,主要差异在 LLM.generate 的用法,具体参考仓库中的 example.py。

Q:支持哪些模型?

A:README 示例使用 Qwen/Qwen3-0.6B,基准测试使用 Qwen3,其他模型需自行验证。

Q:项目有哪些优化特性?

A:README 列出前缀缓存、张量并行、Torch 编译、CUDA graph,以及连续批处理和 PagedAttention。

注意事项

  • README 未给出 Python 版本与依赖清单,需自行准备匹配 PyTorch 的环境。
  • 代码约 1200 行,适合作为学习 LLM 推理原理的参考实现。
  • 复制示例代码时务必把 /YOUR/MODEL/PATH 改成自己的本地权重目录。
  • 定位是快速离线推理(offline inference),README 未提供在线服务部署说明。

核心亮点

  • 代码量少且结构清晰,适合快速上手和教学
  • 实现了 PagedAttention 和连续批处理等核心优化
  • 部署简单,资源占用远低于完整版 vLLM

不足之处

  • 功能覆盖有限,缺少高级特性如量化、多模态支持
  • 文档/社区待观察

适用场景

  • 学习 LLM 推理原理和优化技术
  • 边缘设备或资源受限环境下的模型推理
  • 快速原型验证和教学演示

替代项目

vLLM、llama.cpp、TensorRT-LLM

项目介绍

nano-vllm 是基础设施领域的开源项目,由 GeeeekExplorer 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(15,581)位列前 4%,在基础设施分类的 1,132 个项目里位列前 5%。

近 41 天,它的 GitHub 星标从 14,979 增加到 15,581,净增 602。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:学习LLM推理原理和优化技术。同类可对比的替代方案包括 vLLM、llama.cpp、TensorRT-LLM。

上一篇:unstructured

下一篇:casdoor

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09