NVIDIA Jetson Thor 上运行 LLM / VLM:Jetson AI Lab 支持模型全整理与 vLLM 实践 🚀
🚀 核心问题:
120B大模型能不能放到边缘端本地跑?VLM能不能直接接入机器人、摄像头和现场设备?
Jetson Thor 给出的答案已经不只是"可以尝试",而是开始进入可部署阶段。
Jetson AI Lab 目前已经整理出一批可在 Jetson 上运行的 LLM / VLM:从 Qwen、Gemma、Llama,到 Nemotron、Cosmos、GPT OSS;从 0.8B、4B 的轻量模型,到 31B、70B、120B 的大模型;从纯文本推理,到图像、视频、音频和 Physical AI reasoning。

目录
- [1. Jetson AI Lab 支持模型总览](#1. Jetson AI Lab 支持模型总览)
- [1.1 设备与字段说明](#1.1 设备与字段说明)
- [1.2 模型系列汇总](#1.2 模型系列汇总)
- [1.3 分系列模型清单](#1.3 分系列模型清单)
- [Google Gemma4](#Google Gemma4)
- [NVIDIA Nemotron](#NVIDIA Nemotron)
- [NVIDIA Cosmos Reason](#NVIDIA Cosmos Reason)
- [NVIDIA Cosmos](#NVIDIA Cosmos)
- [Alibaba Qwen3.5](#Alibaba Qwen3.5)
- [Alibaba Qwen3.6](#Alibaba Qwen3.6)
- [Alibaba Qwen3](#Alibaba Qwen3)
- [OpenAI GPT OSS](#OpenAI GPT OSS)
- [Mistral AI Ministral 3](#Mistral AI Ministral 3)
- [Meta Llama 3](#Meta Llama 3)
- [Google Gemma3](#Google Gemma3)
- [MiniMax M2.7](#MiniMax M2.7)
- [2. Thor 上选模型的基本思路](#2. Thor 上选模型的基本思路)
- [3. 通用准备工作](#3. 通用准备工作)
- [3.1 确认 Docker 与 NVIDIA Runtime](#3.1 确认 Docker 与 NVIDIA Runtime)
- [3.2 准备 Hugging Face 缓存](#3.2 准备 Hugging Face 缓存)
- [3.3 通用 API 请求](#3.3 通用 API 请求)
- [4. 实践一:Gemma 4 31B](#4. 实践一:Gemma 4 31B)
- [4.1 Thor 上使用 vLLM 启动](#4.1 Thor 上使用 vLLM 启动)
- [4.2 请求验证](#4.2 请求验证)
- [5. 实践二:Qwen3.6 35B-A3B (MoE)](#5. 实践二:Qwen3.6 35B-A3B (MoE))
- [5.1 Thor 上使用 vLLM 启动](#5.1 Thor 上使用 vLLM 启动)
- [5.2 开启 MTP 推测解码](#5.2 开启 MTP 推测解码)
- [5.3 请求验证](#5.3 请求验证)
- [6. 实践三:GPT OSS 120B](#6. 实践三:GPT OSS 120B)
- [6.1 下载 tiktoken encodings](#6.1 下载 tiktoken encodings)
- [6.2 Thor 上使用 vLLM 启动](#6.2 Thor 上使用 vLLM 启动)
- [6.3 请求验证](#6.3 请求验证)
- [7. 实践四:Cosmos Reason 1 7B](#7. 实践四:Cosmos Reason 1 7B)
- [7.1 设置 HF_TOKEN](#7.1 设置 HF_TOKEN)
- [7.2 Thor 上使用 vLLM 启动](#7.2 Thor 上使用 vLLM 启动)
- [7.3 文本请求验证](#7.3 文本请求验证)
- [7.4 适合的场景](#7.4 适合的场景)
- [8. 实践五:Qwen3.5 4B](#8. 实践五:Qwen3.5 4B)
- [8.1 Thor 上使用 vLLM 启动](#8.1 Thor 上使用 vLLM 启动)
- [8.2 请求验证](#8.2 请求验证)
- [9. 常见问题与调参建议](#9. 常见问题与调参建议)
- [9.1 模型下载慢或失败](#9.1 模型下载慢或失败)
- [9.2 显存不足](#9.2 显存不足)
- [9.3 模型 ID 不一致](#9.3 模型 ID 不一致)
- [9.4 端口被占用](#9.4 端口被占用)
- [9.5 选择 vLLM 还是 llama.cpp](#9.5 选择 vLLM 还是 llama.cpp)
- [10. 总结](#10. 总结)
- 参考链接
📌 这篇文章直接解决 3 个问题:
- 这个模型是文本模型还是多模态模型。
- 它支持 Jetson Thor T5000 / T4000,还是也能下放到 AGX Orin、Orin NX、Orin Nano。
- 它推荐使用 vLLM、llama.cpp、Ollama,还是几种引擎都支持。
后半部分会挑 5 个代表性模型做实践:Gemma 4 31B、Qwen3.6 35B-A3B、GPT OSS 120B、Cosmos Reason 1 7B 和 Qwen3.5 4B。每个示例都给出 vLLM 启动命令、curl 调用方式和 Python SDK 调用方式,方便直接复制到 Jetson Thor 上验证。
目前Jetson Thor支持的一些模型,以及token响应速度:

1. Jetson AI Lab 支持模型总览 📚
Jetson AI Lab 模型页当前按以下家族组织:Google Gemma4、NVIDIA Nemotron、NVIDIA Cosmos Reason、Alibaba Qwen3.5、OpenAI GPT OSS、Alibaba Qwen3、Mistral AI Ministral 3、Meta Llama 3、Google Gemma3、MiniMax M2.7、Alibaba Qwen3.6、NVIDIA Cosmos。
⭐ Featured Models: 官网近期重点支持
MiniMax M2.7、Qwen3.6 35B-A3B、Gemma 4 12B、Qwen3.6 27B、Nemotron 3 Super 120B-A12B、Nemotron 3 Nano Omni、Cosmos3 Nano。
1.1 设备与字段说明 🧭
下表中的设备缩写含义如下:
| 缩写 | 含义 |
|---|---|
| Thor T5000 | Jetson Thor T5000 module / Jetson AGX Thor Developer Kit |
| Thor T4000 | Jetson Thor T4000 module |
| AGX Orin 64GB | Jetson AGX Orin 64GB module / Developer Kit |
| Orin NX 16GB | Jetson Orin NX 16GB module |
| Orin Nano 8GB | Jetson Orin Nano 8GB module / Developer Kit |
推理引擎含义:
| 引擎 | 适用场景 |
|---|---|
| vLLM | OpenAI-compatible API 服务化推理,适合多并发、长上下文、工具调用和生产接口验证 |
| llama.cpp | GGUF / 量化路线,适合轻量部署、CPU/GPU 混合卸载和更低资源设备 |
| Ollama | 面向本地交互和快速体验,适合命令行或简单应用集成 |
1.2 模型系列汇总 📊
🔎 先看全局: 当前页面共整理
12个系列、46个模型。Thor覆盖最完整,部分轻量模型也能下放到AGX Orin、Orin NX和Orin Nano。
| 模型系列 | 数量 | 模态覆盖 | 推理引擎 | 适合优先关注的场景 |
|---|---|---|---|---|
| Google Gemma4 | 5 | 多模态 | vLLM、llama.cpp | Gemma 4 VLM、长上下文、多模态助手 |
| NVIDIA Nemotron | 6 | 文本、多模态 | vLLM、llama.cpp、Ollama | NVIDIA 原生文本 / Omni 模型、Thor 大模型验证 |
| NVIDIA Cosmos Reason | 3 | 多模态 | vLLM、llama.cpp | Physical AI、机器人、空间关系推理 |
| NVIDIA Cosmos | 1 | 多模态 | vLLM | Cosmos3 视频 / 图像 reasoning |
| Alibaba Qwen3.5 | 5 | 文本、多模态 | vLLM | Qwen 多语言、工具调用、轻量 VLM |
| Alibaba Qwen3.6 | 2 | 文本 | vLLM | 新一代 Qwen 文本推理、MoE、MTP 推测解码 |
| Alibaba Qwen3 | 6 | 文本、多模态 | vLLM | Qwen3 文本与 Qwen3 VL 基线验证 |
| OpenAI GPT OSS | 2 | 文本 | vLLM | OpenAI 开源模型,20B / 120B 本地推理 |
| Mistral AI Ministral 3 | 6 | 多模态 | vLLM、Ollama | 指令模型与 reasoning 模型对比 |
| Meta Llama 3 | 3 | 文本 | vLLM、Ollama | Llama 生态通用文本模型 |
| Google Gemma3 | 6 | 文本、多模态 | vLLM、llama.cpp、Ollama | Gemma 3 轻量到 27B 多模态模型 |
| MiniMax M2.7 | 1 | 文本 | llama.cpp | 230B agentic MoE,软件工程和智能体场景 |
1.3 分系列模型清单 🗂️
Google Gemma4 ✨
Gemma4 系列全部按多模态模型整理,适合文本、图像理解、长上下文助手和边缘端 VLM 验证。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Gemma 4 E2B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、llama.cpp | Gemma 4 入门级多模态模型,适合小设备验证 |
| Gemma 4 E4B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB | vLLM、llama.cpp | 更强的轻量多模态模型,适合边缘助手和图像理解 |
| Gemma 4 12B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM、llama.cpp | 中等规模 dense Gemma 4,兼顾通用推理和多模态理解 |
| Gemma 4 26B-A4B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM、llama.cpp | MoE 路线,26B 总参数、约 4B 激活参数,适合质量与效率折中 |
| Gemma 4 31B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM、llama.cpp | Gemma 4 当前大模型代表,256K 上下文,支持文本和图像输入 |
NVIDIA Nemotron ⚙️
Nemotron 系列覆盖轻量文本模型、MoE 文本模型、视觉语言模型和 Omni 模型,是 Thor 上验证 NVIDIA 原生大模型路线的重要系列。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Nemotron3 Nano 4B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | llama.cpp | 轻量文本模型,适合低资源设备上的本地推理 |
| Nemotron3 Nano 30B-A3B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 30B 总参数、3B 激活 MoE,效率型文本模型 |
| Nemotron Nano 9B v2 | Text | Thor T5000、Thor T4000 | vLLM | 9B 文本模型,适合通用问答与轻量推理 |
| Nemotron 3 Super 120B-A12B | Text | Thor T5000 | vLLM、llama.cpp | 120B 总参数、12B 激活混合 MoE,面向 Thor / Blackwell FP4 |
| Nemotron Nano 12B VL | Multimodal | Thor T5000、Thor T4000 | vLLM | 12B 视觉语言模型,适合图像理解与多模态问答 |
| Nemotron 3 Nano Omni | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM、Ollama、llama.cpp | 30B / 3B active MoE,覆盖语言、视觉、音频和视频理解 |
NVIDIA Cosmos Reason 🤖
Cosmos Reason 系列面向 Physical AI 和机器人场景,重点不是普通聊天,而是空间关系、物理交互、视频帧和场景推理。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Cosmos Reason 1 7B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | 面向 Physical AI 和机器人场景的 7B reasoning VLM |
| Cosmos Reason 2 2B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、llama.cpp | 更轻量的 Cosmos Reason 2,多设备覆盖 |
| Cosmos Reason 2 8B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、llama.cpp | 8B 规模视觉语言推理模型,适合物理场景理解 |
NVIDIA Cosmos 🎥
Cosmos3 Nano 是更偏新一代 Cosmos 多模态 reasoning 的模型,适合在 Thor 上验证图像和视频理解链路。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Cosmos3 Nano | Multimodal | Thor T5000、Thor T4000 | vLLM | 16B 视觉语言 reasoning 模型,支持文本、图像和视频理解 |
Alibaba Qwen3.5 🧠
Qwen3.5 系列从 0.8B 到 35B-A3B,既有文本模型,也有多模态模型。它适合做工具调用、多语言任务和轻量 VLM 部署。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Qwen3.5 35B-A3B (MoE) | Text | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | 35B / 3B active MoE,适合高效文本推理 |
| Qwen3.5 27B | Text | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | 27B 文本模型,适合高质量问答、代码和多语言任务 |
| Qwen3.5 9B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB | vLLM | 多模态 Qwen3.5 中等规模模型 |
| Qwen3.5 4B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | 4B 多模态模型,适合快速部署和轻量视觉问答 |
| Qwen3.5 0.8B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | 极轻量多模态模型,适合低延迟和资源受限场景 |
Alibaba Qwen3.6 ⚡
Qwen3.6 是更新一代 Qwen 文本模型系列,重点能力是 native tool calling、Qwen3 reasoning parser,以及 MTP speculative decoding。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Qwen3.6 35B-A3B (MoE) | Text | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | 35B 总参数、3B 激活参数,支持工具调用和 MTP 推测解码 |
| Qwen3.6 27B | Text | Thor T5000、Thor T4000 | vLLM | 27B dense 文本模型,面向更高质量推理与工具调用 |
Alibaba Qwen3 💬
Qwen3 系列同时包含文本模型和 Qwen3 VL 模型,是做 Qwen 基线测试、工具调用和 VLM 对比时很常用的一组模型。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Qwen3 4B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | Qwen3 小模型,适合基础文本任务 |
| Qwen3 8B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB | vLLM | 通用文本模型,适合问答、代码和多语言任务 |
| Qwen3 30B-A3B (MoE) | Text | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | 30B / 3B active MoE,效率型大模型路线 |
| Qwen3 32B | Text | Thor T5000、Thor T4000 | vLLM | 32B dense 文本模型,面向更高质量推理 |
| Qwen3 VL 4B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | 轻量视觉语言模型 |
| Qwen3 VL 8B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB | vLLM | 中等规模视觉语言模型 |
OpenAI GPT OSS 🧩
GPT OSS 系列是 OpenAI 开源文本模型。20B 适合先验证链路,120B 更适合 Thor 这类大内存平台验证极限能力。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| GPT OSS 20B | Text | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | OpenAI 开源文本模型,20B 规模,16GB RAM 起步 |
| GPT OSS 120B | Text | Thor T5000、Thor T4000 | vLLM | OpenAI 开源 120B 文本模型,官网标注 Thor 64GB 级别支持 |
Mistral AI Ministral 3 🌬️
Ministral 3 系列分为 Instruct 和 Reasoning 两条线,覆盖 3B、8B、14B,适合比较指令遵循和推理能力。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Ministral 3 3B Instruct | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 3B 指令模型,轻量多模态部署 |
| Ministral 3 8B Instruct | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 8B 指令模型,兼顾效果和资源 |
| Ministral 3 14B Instruct | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 14B 指令模型,面向更强通用能力 |
| Ministral 3 3B Reasoning | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM | 3B reasoning 模型,适合低资源推理验证 |
| Ministral 3 8B Reasoning | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB | vLLM | 8B reasoning 模型,适合多模态推理场景 |
| Ministral 3 14B Reasoning | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB | vLLM | 14B reasoning 模型,面向更高质量推理 |
Meta Llama 3 🦙
Llama 3 系列是通用文本模型基线,生态成熟,适合对比不同引擎和不同 Jetson 平台上的吞吐。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| Llama 3.2 3B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 轻量 Llama 文本模型,适合基础问答和本地助手 |
| Llama 3.1 8B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 常用通用文本模型,生态成熟 |
| Llama 3.1 70B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 大规模 Llama 文本模型,适合质量优先任务 |
Google Gemma3 💎
Gemma3 系列覆盖从 270M 到 27B 的轻量和多模态模型,也包含面向函数调用的 FunctionGemma。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| FunctionGemma | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | llama.cpp | 面向函数调用的 Gemma 派生模型 |
| Gemma 3 270M | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 超轻量文本模型,适合快速测试 |
| Gemma 3 1B | Text | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 1B 文本模型,资源占用低 |
| Gemma 3 4B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 轻量多模态 Gemma 3 |
| Gemma 3 12B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | 中等规模多模态 Gemma 3 |
| Gemma 3 27B | Multimodal | Thor T5000、Thor T4000、AGX Orin 64GB、Orin NX 16GB、Orin Nano 8GB | vLLM、Ollama | Gemma 3 大模型,多模态能力更强 |
MiniMax M2.7 🛠️
MiniMax M2.7 是当前 Featured Models 中参数规模最大的 agentic MoE 之一,主要通过 llama.cpp 4-bit 路线在 Thor T5000 上运行。
| 模型 | 模态 | 支持设备 | 推理引擎 | 简要说明 |
|---|---|---|---|---|
| MiniMax M2.7 | Text | Thor T5000 | llama.cpp | 230B agentic MoE,大参数软件工程和智能体场景,4-bit llama.cpp 路线 |
2. Thor 上选模型的基本思路 🎯
✅ 快速起步: 如果只是验证
vLLM服务链路,优先选择4B、7B、8B这类模型,例如Qwen3.5 4B、Cosmos Reason 1 7B、Qwen3 8B。
它们启动快、显存压力低,更适合先检查容器、驱动、缓存目录、Hugging Face 访问和 OpenAI API 是否正常。
🔥 验证 Thor 能力: 如果要验证
FP4 / NVFP4,优先选择Qwen3.6 35B-A3B、Gemma 4 31B、Nemotron 3 Super 120B-A12B、GPT OSS 120B这类大模型。
它们更能体现 Thor 对大参数模型的支持,但也更依赖模型量化格式、容器版本、缓存空间和显存配置。
🤖 做机器人 / VLM: 如果要做机器人、场景理解、视频帧分析和
Physical AI,优先看Cosmos Reason、Cosmos3 Nano、Nemotron Nano 12B VL、Nemotron 3 Nano Omni、Qwen VL、Gemma多模态模型。
这类模型的价值不只是"看图问答",而是把视觉输入转成可解释的空间关系、动作推理和任务规划线索。
3. 通用准备工作 🧰
3.1 确认 Docker 与 NVIDIA Runtime ✅
Jetson AI Lab 的大多数示例都以容器方式运行。先确认 Docker 能看到 NVIDIA runtime:
bash
docker info | grep -i runtime
如果要运行 vLLM 容器,启动命令通常会包含:
bash
--runtime=nvidia --network host
🔑 关键点:
--network host会让vLLM的OpenAI-compatible API默认暴露在宿主机的8000端口。
3.2 准备 Hugging Face 缓存 💾
💡 强烈建议: 把
Hugging Face缓存目录挂载进容器,避免每次启动都重复下载模型权重。
bash
mkdir -p $HOME/.cache/huggingface
Docker 参数:
bash
-v $HOME/.cache/huggingface:/root/.cache/huggingface
如果网络环境访问 Hugging Face 慢,可以在宿主机和容器里都设置镜像源:
bash
export HF_ENDPOINT=https://hf-mirror.com
容器内传入:
bash
-e HF_ENDPOINT=https://hf-mirror.com
需要鉴权的模型,例如 Cosmos Reason 1 7B,要提前设置:
bash
export HF_TOKEN=你的_HuggingFace_Token
容器内传入:
bash
-e HF_TOKEN=$HF_TOKEN
3.3 通用 API 请求 🔌
vLLM 启动后,基本都可以使用 OpenAI-compatible API 调用:
bash
export JETSON_HOST=127.0.0.1
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Hello!"}]
}'
🌐 远程访问: 如果从另一台机器访问,把
JETSON_HOST改成Jetson的局域网 IP。
如果希望在应用代码里调用,可以直接使用 OpenAI Python SDK,因为 vLLM 暴露的是 OpenAI-compatible API。先安装依赖:
bash
pip install openai
Python 调用模板如下:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed", # vLLM / llama.cpp 通常不会校验这个 key
)
completion = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Hello!"}],
)
print(completion.choices[0].message.content)
🐍 Python 调用要点:
base_url指向Jetson上的vLLM服务地址;api_key只是为了满足OpenAI SDK参数要求,本地vLLM / llama.cpp服务一般不会强制校验;model要和服务启动时vllm serve加载的模型 ID 保持一致。
4. 实践一:Gemma 4 31B 🧪
Gemma 4 31B 是 Google Gemma 4 当前较大的 dense 多模态模型。Jetson AI Lab 详情页给出的关键信息如下:
🎯 适合场景: 质量优先的本地 reasoning、代码助手、长文档分析、截图 / 图表 / PDF 理解,以及更复杂的 agent 工作流。
| 项目 | 内容 |
|---|---|
| 参数规模 | 31B |
| 输入 | 文本、图像 |
| 输出 | 文本 |
| 上下文长度 | 256K |
| 许可证 | Apache 2.0 |
| 精度 | Q4_K_M GGUF;Thor vLLM 示例使用 NVFP4 checkpoint |
| 支持平台 | Jetson Thor、Jetson AGX Orin |
| 推理引擎 | vLLM、llama.cpp |
4.1 Thor 上使用 vLLM 启动 🚀
官网 Thor / T5000 的 vLLM 示例命令:
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/nvidia-ai-iot/vllm:gemma4-jetson-thor \
vllm serve nvidia/Gemma-4-31B-IT-NVFP4 \
--gpu-memory-utilization 0.8 \
--enable-auto-tool-choice \
--reasoning-parser gemma4 \
--tool-call-parser gemma4
🔑 关键参数: 这里重点关注模型 ID、reasoning parser 和 tool-call parser。
| 参数 | 作用 |
|---|---|
nvidia/Gemma-4-31B-IT-NVFP4 |
Thor 上推荐的 NVFP4 checkpoint |
--reasoning-parser gemma4 |
启用 Gemma 4 reasoning 解析 |
--tool-call-parser gemma4 |
启用 Gemma 4 工具调用解析 |
4.2 请求验证 ✅
bash
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "nvidia/Gemma-4-31B-IT-NVFP4",
"messages": [
{"role": "user", "content": "请用三点说明 Jetson Thor 跑多模态模型的优势。"}
]
}'
使用 Python SDK 请求:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed",
)
completion = client.chat.completions.create(
model="nvidia/Gemma-4-31B-IT-NVFP4",
messages=[
{"role": "user", "content": "请用三点说明 Jetson Thor 跑多模态模型的优势。"}
],
)
print(completion.choices[0].message.content)
⚠️ 注意: 如果使用
llama.cpp / GGUF路线,详情页也给出了ggml-org/gemma-4-31B-it-GGUF这样的模型 ID。实践中要保证服务端实际model字段和启动时加载的模型 ID 一致,避免 API 请求里使用另一个模型名导致404或模型不匹配。
5. 实践二:Qwen3.6 35B-A3B (MoE) ⚡
Qwen3.6 35B-A3B 是 Alibaba Qwen3.6 家族的 MoE 文本模型。它有 35B 总参数,但推理时约 3B active,因此很适合边缘设备上做"高质量 + 高效率"的折中。
🎯 适合场景: 多语言问答、代码生成、函数调用、工具调用、需要吞吐优化的文本推理服务。
| 项目 | 内容 |
|---|---|
| 参数规模 | 35B total / 3B active |
| 模型类型 | MoE |
| 输入 / 输出 | 文本输入,文本输出 |
| 精度 | NVFP4、AWQ 4-bit |
| 推理引擎 | vLLM |
| 特色 | 原生工具调用、Qwen3 reasoning parser、MTP speculative decoding |
5.1 Thor 上使用 vLLM 启动 🚀
官网 Thor / T5000 的 vLLM 示例命令:
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
vllm/vllm-openai:nightly-aarch64 \
bash -c "pip install -q 'vllm[audio]' && vllm serve RedHatAI/Qwen3.6-35B-A3B-NVFP4 \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder"
🔑 关键参数: 这里使用的是
RedHatAI/Qwen3.6-35B-A3B-NVFP4,也就是面向Thor的NVFP4 checkpoint。--enable-prefix-caching对多轮问答、重复系统提示词和 agent 工作流有帮助。
5.2 开启 MTP 推测解码 🚄
该模型支持 Multi-Token Prediction speculative decoding。可以在 vllm serve 后追加:
bash
--speculative-config '{"method": "mtp", "num_speculative_tokens": 4}'
完整命令示例:
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
vllm/vllm-openai:nightly-aarch64 \
bash -c "pip install -q 'vllm[audio]' && vllm serve RedHatAI/Qwen3.6-35B-A3B-NVFP4 \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--speculative-config '{\"method\": \"mtp\", \"num_speculative_tokens\": 4}'"
5.3 请求验证 ✅
bash
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "RedHatAI/Qwen3.6-35B-A3B-NVFP4",
"messages": [
{"role": "user", "content": "写一个 Python 函数,统计日志中每种错误码出现的次数。"}
]
}'
使用 Python SDK 请求:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed",
)
completion = client.chat.completions.create(
model="RedHatAI/Qwen3.6-35B-A3B-NVFP4",
messages=[
{"role": "user", "content": "写一个 Python 函数,统计日志中每种错误码出现的次数。"}
],
)
print(completion.choices[0].message.content)
🧭 Orin 路线: 如果在
AGX Orin上运行,官网示例使用AWQ checkpoint:
bash
sudo docker run -it --rm --pull always --runtime=nvidia --network host \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin \
vllm serve cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--max-model-len 4096
6. 实践三:GPT OSS 120B 🏋️
GPT OSS 120B 是 OpenAI 开源的 120B 文本模型。Jetson AI Lab 详情页强调:由于模型规模很大,该模型主要面向 Jetson AGX Thor 这类 64GB 级别平台。
🎯 适合场景: 在边缘端验证超大文本模型、本地私有推理、长上下文问答和高质量文本生成。
| 项目 | 内容 |
|---|---|
| 参数规模 | 117B total / 5.1B activated |
| 输入 / 输出 | 文本输入,文本输出 |
| 上下文长度 | 128K |
| 许可证 | Apache 2.0 |
| 精度 | NVFP4 |
| 推理引擎 | vLLM |
| 特殊要求 | 需要提前下载 tiktoken encodings |
6.1 下载 tiktoken encodings 📥
运行 GPT OSS 120B 前,先准备 tokenizer encoding 文件:
bash
mkdir -p $HOME/.cache/tiktoken
wget -q https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken \
-O $HOME/.cache/tiktoken/cl100k_base.tiktoken
wget -q https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken \
-O $HOME/.cache/tiktoken/o200k_base.tiktoken
6.2 Thor 上使用 vLLM 启动 🚀
bash
sudo docker run -it --rm --pull always --runtime=nvidia --network host \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
-v $HOME/.cache/tiktoken:/etc/encodings \
-e TIKTOKEN_ENCODINGS_BASE=/etc/encodings \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-thor \
vllm serve openai/gpt-oss-120b --gpu-memory-utilization 0.8
⚠️ 最容易漏:
GPT OSS 120B需要额外挂载tiktokenencoding 文件。
bash
-v $HOME/.cache/tiktoken:/etc/encodings
-e TIKTOKEN_ENCODINGS_BASE=/etc/encodings
如果没有这两项,模型可能在 tokenizer 初始化阶段报错。
6.3 请求验证 ✅
bash
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-120b",
"messages": [
{"role": "user", "content": "请用中文解释 MoE 模型为什么适合边缘推理。"}
]
}'
使用 Python SDK 请求:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed",
)
completion = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{"role": "user", "content": "请用中文解释 MoE 模型为什么适合边缘推理。"}
],
)
print(completion.choices[0].message.content)
💡 实践建议:
GPT OSS家族在官网表格中还有GPT OSS 20B。20B版本面向16GB RAM起步设备,120B版本面向Thor 64GB级别设备。建议先用20B验证镜像、网络和 API,再切换到120B。
7. 实践四:Cosmos Reason 1 7B 🤖
Cosmos Reason 1 7B 是 NVIDIA 面向 Physical AI、机器人和空间理解场景的 reasoning VLM。它不只是做图片描述,更强调物理世界动态、空间关系、复杂场景分析和链式推理。
🎯 适合场景: 机器人视觉问答、视频帧理解、空间关系推理、物理交互分析。
| 项目 | 内容 |
|---|---|
| 参数规模 | 7B |
| 输入 | 文本、图像,支持通过 --media-io-kwargs 做视频帧分析 |
| 输出 | 文本、reasoning traces、场景理解结果 |
| 上下文长度 | 128K;平台支持表中 vLLM 示例常用 8192 tokens |
| 许可证 | NVIDIA Open Model License |
| 精度 | FP16 |
| 推理引擎 | vLLM |
| 特殊要求 | 需要 HF_TOKEN |
7.1 设置 HF_TOKEN 🔐
⚠️ 注意: 这个模型需要
HF_TOKEN,否则首次拉取模型时可能失败。
bash
export HF_TOKEN=你的_HuggingFace_Token
7.2 Thor 上使用 vLLM 启动 🚀
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
-e HF_TOKEN=$HF_TOKEN \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-thor \
vllm serve nvidia/Cosmos-Reason1-7B \
--max-model-len 8192 \
--gpu-memory-utilization 0.8 \
--reasoning-parser qwen3
📦 容器选择: 官网平台支持表里也给出了一个细节:
ThorvLLM 容器是ghcr.io/nvidia-ai-iot/vllm:latest-jetson-thor,OrinvLLM 容器是ghcr.io/nvidia-ai-iot/vllm:latest-jetson-orin。如果在Orin上跑,通常要更谨慎地控制--gpu-memory-utilization和上下文长度。
7.3 文本请求验证 ✅
bash
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "nvidia/Cosmos-Reason1-7B",
"messages": [
{"role": "user", "content": "机器人在桌面上抓取杯子时,需要关注哪些空间关系?"}
]
}'
使用 Python SDK 请求:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed",
)
completion = client.chat.completions.create(
model="nvidia/Cosmos-Reason1-7B",
messages=[
{"role": "user", "content": "机器人在桌面上抓取杯子时,需要关注哪些空间关系?"}
],
)
print(completion.choices[0].message.content)
7.4 适合的场景 📍
Cosmos Reason 1 7B 适合以下场景:
| 场景 | 说明 |
|---|---|
| 机器人视觉问答 | 分析相机画面中的物体位置、遮挡、可抓取性 |
| 视频帧理解 | 对连续帧做事件和动作推理 |
| Physical AI reasoning | 解释物体交互、空间约束和任务步骤 |
| WebUI 实时演示 | 可结合 NVIDIA Live VLM WebUI 做摄像头到 VLM 的实时链路 |
8. 实践五:Qwen3.5 4B 😊
Qwen3.5 4B 是一个轻量多模态模型,特别适合做 Jetson Thor 或 Orin 上的快速验证。相比 30B、120B 模型,它的优势是启动快、资源占用低、调参反馈快。
🎯 适合场景: 快速验证
vLLM API、轻量视觉问答、图像理解、工具调用、多语言任务。
| 项目 | 内容 |
|---|---|
| 参数规模 | 4B |
| 输入 | 文本、图像 |
| 输出 | 文本 |
| 上下文长度 | 256K |
| 许可证 | Apache 2.0 |
| 精度 | AWQ 4-bit |
| 推理引擎 | vLLM |
8.1 Thor 上使用 vLLM 启动 🚀
bash
sudo docker run -it --rm --pull always \
--runtime=nvidia --network host \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/nvidia-ai-iot/vllm:latest-jetson-thor \
vllm serve cyankiwi/Qwen3.5-4B-AWQ-4bit \
--gpu-memory-utilization 0.8 \
--enable-prefix-caching \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
8.2 请求验证 ✅
bash
curl -s http://${JETSON_HOST}:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "cyankiwi/Qwen3.5-4B-AWQ-4bit",
"messages": [
{"role": "user", "content": "请给出一个边缘设备上部署 VLM 的三步检查清单。"}
]
}'
使用 Python SDK 请求:
python
import os
from openai import OpenAI
jetson_host = os.environ.get("JETSON_HOST", "127.0.0.1")
client = OpenAI(
base_url=f"http://{jetson_host}:8000/v1",
api_key="not-needed",
)
completion = client.chat.completions.create(
model="cyankiwi/Qwen3.5-4B-AWQ-4bit",
messages=[
{"role": "user", "content": "请给出一个边缘设备上部署 VLM 的三步检查清单。"}
],
)
print(completion.choices[0].message.content)
💡 实践建议:
Qwen3.5 4B的详情页把它定位为practical multimodal deployment:视觉问答、图像理解、工具调用、多语言任务都适合。实际开发中,可以先用它跑通摄像头截图、图像上传、API 返回解析,再把同一套服务层切到更大的Qwen、Gemma或Cosmos模型。
9. 常见问题与调参建议 🧯
9.1 模型下载慢或失败 🐢
💡 建议: 先在宿主机下载模型,再挂载缓存目录:
bash
export HF_ENDPOINT=https://hf-mirror.com
hf download 模型ID
启动容器时挂载:
bash
-v $HOME/.cache/huggingface:/root/.cache/huggingface
如果模型需要鉴权,还要设置:
bash
export HF_TOKEN=你的_HuggingFace_Token
9.2 显存不足 ⚠️
🔧 优先调小这几个参数:
bash
--gpu-memory-utilization 0.6
--max-model-len 4096
大模型默认上下文很长,例如 128K、256K,在边缘设备上直接启用完整上下文会显著增加 KV cache 压力。实践验证时可以先用 4096 或 8192,服务稳定后再逐步放大。
9.3 模型 ID 不一致 🧩
✅ 判断原则:
vLLM请求里的model字段最好和服务启动时的模型 ID 一致。
例如服务端启动:
bash
vllm serve cyankiwi/Qwen3.5-4B-AWQ-4bit
请求也写:
json
"model": "cyankiwi/Qwen3.5-4B-AWQ-4bit"
有些官网示例的请求模型名可能展示原始模型 ID,而服务端加载的是量化 checkpoint。实践中以服务端实际加载的 ID 为准更稳。
9.4 端口被占用 🚦
vLLM 默认监听 8000 端口。如果已有服务占用,可以加:
bash
--port 8001
请求时同步改成:
bash
curl http://${JETSON_HOST}:8001/v1/chat/completions
9.5 选择 vLLM 还是 llama.cpp 🧭
| 需求 | 推荐 |
|---|---|
| OpenAI-compatible API、并发请求、服务化部署 | vLLM |
| GGUF 模型、轻量运行、低资源设备 | llama.cpp |
| 快速本地体验和命令行管理 | Ollama |
| Thor 上验证 NVFP4 大模型 | 优先 vLLM 官方 / Jetson AI Lab 示例 |
10. 总结 🎉
Jetson AI Lab 当前已经把 Jetson Thor 的 LLM / VLM 支持扩展到非常宽的范围:从 270M、0.8B、4B 的轻量模型,到 31B dense、35B-A3B MoE、70B、120B 级别的大模型;从纯文本模型,到图像、视频、音频和 Physical AI reasoning 模型;从 vLLM 服务化推理,到 llama.cpp / Ollama 的本地部署路线。
🚀 推荐推进顺序: 如果要在
Jetson Thor上做实践,建议按下面顺序推进:
- 先用
Qwen3.5 4B或Cosmos Reason 1 7B跑通Docker、Hugging Face缓存、vLLM API。 - 再用
Gemma 4 31B或Qwen3.6 35B-A3B验证Thor上的NVFP4大模型能力。 - 最后尝试
GPT OSS 120B、Nemotron 3 Super 120B-A12B、MiniMax M2.7这类极限模型,观察吞吐、显存、上下文长度和实际业务效果。
😊 总结: 先证明基础服务链路,再逐步放大模型规模和上下文长度。对边缘 AI 开发来说,稳定复现往往比一次性跑起最大模型更重要。
参考链接 🔗
- Jetson AI Lab Supported Models
- Gemma 4 31B
- Qwen3.6 35B-A3B
- GPT OSS 120B
- Cosmos Reason 1 7B
- Qwen3.5 4B
分享完成~