{ "id": "conv_20251114_135243_851", "title": "如何使用vllm在linux系统部署qwen3-7,给出详细步骤", "created_at": "2025-11-14T13:52:43.851769", "updated_at": "2025-11-14T14:07:55.506448", "messages": [ { "role": "user", "content": "如何使用vllm在linux系统部署qwen3-7,给出详细步骤", "timestamp": "2025-11-14T13:53:17.701893" }, { "role": "assistant", "content": "我来帮你搜索一下在Linux系统上使用vLLM部署Qwen3-7B模型的详细步骤。", "timestamp": "2025-11-14T13:53:25.586650" }, { "role": "assistant", "content": "", "timestamp": "2025-11-14T13:53:25.605687", "tool_calls": [ { "id": "web_search:0", "index": 0, "type": "function", "function": { "name": "web_search", "arguments": "{\"query\": \"vLLM Linux部署Qwen3-7B模型详细步骤教程\", \"max_results\": 5}" } } ] }, { "role": "tool", "content": "{\"success\": true, \"summary\": \"🔍 搜索查询: vLLM Linux部署Qwen3-7B模型详细步骤教程\\n📅 搜索时间: 2025-11-14T13:53:29.064490\\n🎯 过滤条件: Topic: general\\n\\n📝 AI摘要:\\nTo deploy Qwen3-7B using vLLM on Linux, install vLLM, download the Qwen3 model, and run it with the vLLM server. Adjust max_seq_len to fit your GPU memory.\\n\\n---\\n\\n📊 搜索结果:\\n\\n1. 45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务- GPUStack\\n 🔗 https://www.cnblogs.com/gpustack/p/18854012\\n 📄 访问 模型 菜单,选择部署模型 - ModelScope,在 ModelScope 中搜索 Qwen 官方的 Qwen3 模型仓库,我们的 GPU 是 NVIDIA A10,24G显存。这里我们部署号称能匹敌 Qwen2.5-72B-Instruct 性能的 Qwen3-4B 模型:\\n\\n考虑需要部署生产级的 Qwen3 模型服务,因此使用 vLLM 后端来运行 Qwen3 模型:\\n\\n等待模型下载:...\\n\\n2. vLLM - Qwen - Read the Docs\\n 🔗 https://qwen.readthedocs.io/zh-cn/latest/deployment/vllm.html\\n 📄 Skip to content\\n\\nBack to top \\n\\nView this page\\n\\n# vLLM¶\\n\\n我们建议您在部署 Qwen 时尝试使用 vLLM。它易于使用,且具有最先进的服务吞吐量、高效的注意力键值内存管理(通过PagedAttention实现)、连续批处理输入请求、优化的CUDA内核等功能。要了解更多关于vLLM的信息,请参阅 论文 和 文档。\\n\\n## 环境配置¶\\n\\n默认情况下...\\n\\n3. 手把手教你基于vllm大模型推理框架部署Qwen3-MoE - 知乎专栏\\n 🔗 https://zhuanlan.zhihu.com/p/1902835927396652806\\n 📄 Type: Causal Language Models\\n Training Stage: Pretraining & Post-training\\n Number of Parameters: 235B in total and 22B activated\\n Number of Paramaters (Non-Embedding): 234B\\n Number of Layers: 94\\n Numb...\\n\\n4. Qwen3‑Omni 使用全攻略(在线Demo / Transformers / vLLM / 本地 ...\\n 🔗 https://www.laogou717.com/2025/09/22/AI%20era/Wan/Qwen3-Omni-%E4%BD%BF%E7%94%A8%E5%85%A8%E6%94%BB%E7%95%A5/index.html\\n 📄 | | |\\n --- |\\n| ``` 1 2 3 4 5 ``` | ``` # 建议新建虚拟环境;如已安装 transformers,先卸载或直接用新环境 # 建议新建虚拟环境;如已安装 transformers,先卸载或直接用新环境pip install \\\"git+ accelerate\\\"git+ install -U qwen-omni-utils # 处理音频/图像/视频# 处理音频/...\\n\\n5. 通过vllm部署qwen3大模型以及基于vLLM 的OpenAI 兼容API 接口 ...\\n 🔗 https://agent.csdn.net/6841203a606a8318e85b98b8.html\\n 📄 > –enable-reasoning :启用模型的推理功能,例如逻辑推理、数学推理等,让模型在生成文本时能够进行一定的逻辑思考。\\n> –reasoning-parser :指定使用的推理解析器,如 deepseek\\\\_r1,用于解析推理过程中的逻辑结构,使模型的输出更符合逻辑和预期的格式。\\n>\\n> 其他参数\\n>\\n> –verbose :启用详细日志输出,用于调试和了解服务运行过程中的详细信...\", \"filters\": {\"topic\": \"general\"}, \"query\": \"vLLM Linux部署Qwen3-7B模型详细步骤教程\", \"results\": [{\"index\": 1, \"title\": \"45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务- GPUStack\", \"url\": \"https://www.cnblogs.com/gpustack/p/18854012\", \"content\": \"访问 模型 菜单,选择部署模型 - ModelScope,在 ModelScope 中搜索 Qwen 官方的 Qwen3 模型仓库,我们的 GPU 是 NVIDIA A10,24G显存。这里我们部署号称能匹敌 Qwen2.5-72B-Instruct 性能的 Qwen3-4B 模型:\\n\\n考虑需要部署生产级的 Qwen3 模型服务,因此使用 vLLM 后端来运行 Qwen3 模型:\\n\\n等待模型下载:\\n\\n耗时:14m\\n\\n等待模型启动完成:\\n\\n确认模型正常 Running 后,在试验场测试模型的生成效果:\\n\\n问题测试:\\n\\n挑战完成,记录时间:\\n\\n总耗时:43m25s,其中包括:\\n\\n按照以上步骤,我们已经完成在 45 分钟内搭建 GPUStack 模型服务平台并运行生产级的 Qwen3 模型服务。\\n\\n目前 GPUStack 的 vLLM 后端和 llama-box 后端均已支持运行 Qwen3,在 Linux、Windows 和 macOS 上均可运行,欢迎体验。 [...] 计时开始:\\n\\n前置准备\\n\\n以下操作环境为一台阿里云 ECS 云主机,操作系统为 Ubuntu 22.04,GPU 为 NVIDIA A10,操作依赖良好的网络条件。\\n\\n其他操作系统的安装参考每个章节的文档链接。\\n\\n验证当前环境的 NVIDIA GPU 硬件:\\n\\n验证系统已安装 GCC:\\n\\n安装 NVIDIA 驱动\\n\\n参考:\\n\\n为当前内核安装内核头文件和开发包:\\n\\n安装 cuda-keyring 包:\\n\\n安装 NVIDIA 驱动:\\n\\n重启系统:\\n\\n重新登录并检查 nvidia-smi 命令可用:\\n\\n耗时:3m\\n\\n安装 Docker Engine\\n\\n参考:\\n\\n执行以下命令卸载所有冲突的包:\\n\\n设置 Docker 的 apt 仓库:\\n\\n安装 Docker:\\n\\n检查 docker 命令可用:\\n\\n耗时:1m\\n\\n安装 NVIDIA Container Toolkit\\n\\n参考:\\n\\n配置 NVIDIA Container Toolkit 的生产仓库:\\n\\n安装 NVIDIA Container Toolkit:\\n\\n使用 nvidia-ctk 命令配置容器运行时: [...] GPUStack 是一个100%开源的模型服务平台,支持 Linux、Windows 和 macOS,支持 NVIDIA、AMD、Apple Silicon、昇腾、海光、摩尔线程等 GPU 构建异构 GPU 集群,支持 LLM、多模态、Embedding、Reranker、图像生成、Speech-to-Text 和 Text-to-Speech 模型,支持 vLLM、MindIE、llama-box(基于 llama.cpp 与 stable-diffusion.cpp)等多种推理引擎与推理引擎多版本并行,支持资源自动调度分配、模型故障自动恢复、多机分布式推理、混合异构推理、推理请求负载均衡、资源与模型监控指标观测、国产化支持、用户管理与 API 认证授权等各种企业级特性,提供 OpenAI 兼容 API 无缝接入 Dify、RAGFlow、FastGPT、MaxKB 等各种上层应用框架,是企业建设模型服务平台的理想选择。\\n\\n本篇文章将介绍在一节课 45 分钟内(包括安装和模型下载)搭建 GPUStack 模型服务平台并通过 GPUStack 运行生产级的 Qwen3 模型服务。\", \"score\": 0.84215075, \"published_date\": \"\"}, {\"index\": 2, \"title\": \"vLLM - Qwen - Read the Docs\", \"url\": \"https://qwen.readthedocs.io/zh-cn/latest/deployment/vllm.html\", \"content\": \"Skip to content\\n\\nBack to top \\n\\nView this page\\n\\n# vLLM¶\\n\\n我们建议您在部署 Qwen 时尝试使用 vLLM。它易于使用,且具有最先进的服务吞吐量、高效的注意力键值内存管理(通过PagedAttention实现)、连续批处理输入请求、优化的CUDA内核等功能。要了解更多关于vLLM的信息,请参阅 论文 和 文档。\\n\\n## 环境配置¶\\n\\n默认情况下,你可以通过 pip 在新环境中安装 `vllm` :\\n\\n```\\n \\\"vllm>=0.8.5\\\"\\n```\\n\\n请留意预构建的`vllm`对`torch`和其CUDA版本有强依赖。请查看vLLM官方文档中的注意事项以获取有关安装的帮助。\\n\\n## API 服务¶\\n\\n借助vLLM,构建一个与OpenAI API兼容的API服务十分简便,该服务可以作为实现OpenAI API协议的服务器进行部署。默认情况下,它将在 ` 启动服务器。您可以通过 `--host` 和 `--port` 参数来自定义地址。请按照以下所示运行命令:\\n\\n```\\n \\n``` [...] 在 vLLM 0.8.5 版本中,`enable_thinking=False` 与此功能不兼容。如果需要向 API 传递 `enable_thinking=False`,则应禁用解析思考内容。此问题已在 vLLM 0.9.0 中通过 `qwen3` 思考解析器得到解决。\\n\\n### 解析工具调用¶\\n\\nvLLM 支持将模型生成的工具调用内容解析为结构化消息:\\n\\n```\\n \\n```\\n\\n详细信息,请参阅函数调用的指南。\\n\\n### 结构化/JSON输出¶\\n\\nvLLM 支持结构化/JSON 输出。请参照vLLM文档了解 `guided_json` 参数。此外,也建议在系统消息或用户提示中指示模型生成特定格式,避免仅依赖于推理参数配置。\\n\\n### 部署量化模型¶\\n\\nQwen3 提供了两种类型的预量化模型:FP8 和 AWQ。\\n\\n部署这些模型的命令与原始模型相同,只是名称有所更改:\\n\\n```\\n # For FP8 quantized model # For AWQ quantized model \\n```\\n\\n备注 [...] 默认情况下,如果模型未指向有效的本地目录,它将从 Hugging Face Hub 下载模型文件。要从 ModelScope 下载模型,请在运行上述命令之前设置以下内容:\\n\\n```\\n export VLLM_USE_MODELSCOPE = true\\n```\\n\\n对于使用张量并行的分布式推理,操作非常简单:\\n\\n```\\n 4\\n```\\n\\n上述命令将在 4 块 GPU 上使用张量并行。您应根据需求调整 GPU 的数量。\\n\\n### 基本用法¶\\n\\n然后,您可以利用 create chat interface 来与Qwen进行对话:\", \"score\": 0.79675186, \"published_date\": \"\"}, {\"index\": 3, \"title\": \"手把手教你基于vllm大模型推理框架部署Qwen3-MoE - 知乎专栏\", \"url\": \"https://zhuanlan.zhihu.com/p/1902835927396652806\", \"content\": \"Type: Causal Language Models\\n Training Stage: Pretraining & Post-training\\n Number of Parameters: 235B in total and 22B activated\\n Number of Paramaters (Non-Embedding): 234B\\n Number of Layers: 94\\n Number of Attention Heads (GQA): 64 for Q and 4 for KV\\n Number of Experts: 128\\n Number of Activated Experts: 8\\n Context Length: 32,768 natively and 131,072 tokens with YaRN.\\n\\n## 环境setup\\n\\n有很多种方式:1.源码编译安装 2.官方wheel文件的安装 3.使用官方release的docker\\n\\n一般情况下,如果不是开发者,只是使用者,那么采取第3种方式即可,如果是开发者,那么源码编译安装是必需的,本文采取第3种方式 [...] ### docker镜像选择和启动\\n\\n docker镜像选择:vllm一般会把各个release版本的稳定docker镜像上传到dockerhub,在dockerhub搜索vllm即可查到,本文采取的docker镜像为``vllm/vllm-openai:0.8.5.post1``\\n docker容器启动:dockerhub里的vllm镜像最后一个命令为ENTRYPOINT,意味着docker启动的同时会运行的命令,所以这个vllm镜像启动的同时会启动openai server,因为我们部署的是Qwen3-235B-A22B,所以我们需要在命令行指定该model,否则默认部署的是opt-125M。此外指定tp为8,使用8卡来部署。(4卡也可,只要装得下参数且能有余量保存足够的kv cache就行)\\n\\ntips:如果不想docker启动的同时运行某个命令,可以在命令行添加--entrypoint /bin/bash,这样的话,启动docker即直接进入命令行,不会自动启动server部署Qwen3模型,如下图\\n\\n### 启动server&log解析 [...] 首次部署该模型时,会去huggingface下载,而后缓存到huggingface的默认缓存目录(/root/.cache/huggingface),之后部署时,就不用下载而是直接load\\n\\n获取到的有用信息:\\n\\n 模型加载完成后,每张卡花费了54.9GB,这里面不光是weight所占空间,还有kv cache等预留空间\\n 为custom allreduce算子注册在cuda graph上的地址,便于capture\\n 开始capture cuda graph\\n\\n获取到的有用信息:\\n\\n Qwen3在\\n 有如上的很多http GET和POST方法可用\\n Qwen3部署服务的进程号是2126887\\n\\n此时我们的GPU显存占用情况如下,聪明的读者或许已经猜出型号,但是我还是要为了zzzq打个码\\n\\n由此,我们的Qwen3-235B-A22B模型就serving起来了,接下来我们只需在客户端发送请求给它处理,然后返回给我们就OK了\\n\\n## 客户端请求\\n\\n默认情况下,我们没有采用thinking模式,发送请求的命令如下,可用看到没有任何thinking过程\", \"score\": 0.79675186, \"published_date\": \"\"}, {\"index\": 4, \"title\": \"Qwen3‑Omni 使用全攻略(在线Demo / Transformers / vLLM / 本地 ...\", \"url\": \"https://www.laogou717.com/2025/09/22/AI%20era/Wan/Qwen3-Omni-%E4%BD%BF%E7%94%A8%E5%85%A8%E6%94%BB%E7%95%A5/index.html\", \"content\": \"| | |\\n --- |\\n| ``` 1 2 3 4 5 ``` | ``` # 建议新建虚拟环境;如已安装 transformers,先卸载或直接用新环境 # 建议新建虚拟环境;如已安装 transformers,先卸载或直接用新环境pip install \\\"git+ accelerate\\\"git+ install -U qwen-omni-utils # 处理音频/图像/视频# 处理音频/图像/视频# 可选:FlashAttention 2 以降显存(仅 fp16/bf16;硬件需兼容)# 可选:FlashAttention 2 以降显存(仅 fp16/bf16;硬件需兼容)pip install -U flash-attn --no-build-isolation ``` |\\n\\n(以上步骤均来自官方模型卡“Transformers Usage”段落。)(Hugging Face)\\n\\n1. 下载权重(如需离线环境): [...] | | |\\n --- |\\n| ``` 1 2 3 4 5 6 7 ``` | ``` git clone -b qwen3_omni clone cd vllm cdpip install -r requirements/build.txtpip install -r requirements/cuda.txtexport VLLM_PRECOMPILED_WHEEL_LOCATION= exportVLLM_USE_PRECOMPILED=1 pip install -e . -v --no-build-isolationpip install \\\"git+ accelerate qwen-omni-utils -U\\\"git+ ``` |\\n\\n(以上命令与限制说明均来自 Qwen3‑Omni 模型卡“vLLM Usage”。)(Hugging Face)\\n\\n1. 代码示例(vLLM 推理,含多模态数据装载):模型卡已给出 `LLM(... limit_mm_per_prompt=...)` 的完整示例,可直接复制。(Hugging Face) [...] (完整代码片段与可切换发声人等选项,见模型卡。)(Hugging Face)\\n\\n> 技巧:如暂不需要语音输出,可 `model.disable_talker()` 节省约 10GB 显存;或在 `generate` 时 `return_audio=False`,先拿到更快的文本结果。(Hugging Face)\\n\\n### 方案 B:vLLM 高吞吐服务(推荐生产/多并发)\\n\\n适用:在线推理服务、与 OpenAI API 兼容接入、批处理吞吐。要点:官方模型卡提供了vLLM 用法,当前需从特定分支安装(包含多模态与音频输出支持的改动)。(Hugging Face)\\n\\n1. 安装 vLLM(根据模型卡给出的步骤):\", \"score\": 0.7823471, \"published_date\": \"\"}, {\"index\": 5, \"title\": \"通过vllm部署qwen3大模型以及基于vLLM 的OpenAI 兼容API 接口 ...\", \"url\": \"https://agent.csdn.net/6841203a606a8318e85b98b8.html\", \"content\": \"> –enable-reasoning :启用模型的推理功能,例如逻辑推理、数学推理等,让模型在生成文本时能够进行一定的逻辑思考。\\n> –reasoning-parser :指定使用的推理解析器,如 deepseek\\\\_r1,用于解析推理过程中的逻辑结构,使模型的输出更符合逻辑和预期的格式。\\n>\\n> 其他参数\\n>\\n> –verbose :启用详细日志输出,用于调试和了解服务运行过程中的详细信息。\\n> –help :显示帮助信息,列出所有可用的命令和参数及其简要说明。 [...] ```\\nfrom import =(= \\\"EMPTY\\\", # vLLM 无需密钥,任意字符串即可 =\\\" # 端口需与启动命令一致)\\n```\\n\\n#### 二、文本生成接口\\n\\n##### 1. 同步文本生成 (`/v1/completions`)\\n\\n适用场景:非对话式文本生成(如问答、续写)\\n\\n```\\n=..(=\\\"模型名称(如 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B)\\\", = \\\"输入文本\\\", =0.7, # 控制生成随机性 = 100, # 生成最大长度 = False # 是否流式输出) print(..)\\n```\\n\\n##### 2. 流式文本生成\\n\\n启用流式传输实现逐词返回:\\n\\n```\\n=..(= \\\"模型名称\\\", = \\\"输入文本\\\", = True) for in: print(.., = \\\"\\\", = True)\\n```\\n\\n#### 三、对话交互接口 (`/v1/chat/completions`)\\n\\n适用场景:多轮对话(如聊天机器人)\\n\\npython\\n\\n复制 [...] # AI Agent技术社区\\n\\n## 登录社区云\\n\\n### AI Agent技术社区\\n\\n欢迎加入社区\\n\\n欢迎加入社区\\n\\nAI Agent技术社区 通过vllm部署qwen3大模型以及基于 vLLM 的 OpenAI 兼容 API 接口调用方法总结\\n\\n# 通过vllm部署qwen3大模型以及基于 vLLM 的 OpenAI 兼容 API 接口调用方法总结\\n\\n该报错说明KV缓存所需的内存超过了可用的显存,KV缓存的计算涉及模型层数、序列长度和批次大小等因素,模型默认设置的max\\\\_seq\\\\_len是40960,这大大超过了服务器的负载上限,应该降低通过调整–max\\\\_model\\\\_len参数以减少KV缓存需求。接口必须确认实际加载的模型名称,避免因名称不匹配导致404错误。适用场景:非对话式文本生成(如问答、续写)适用场景:多轮对话(如聊天机器人)\\n\\n### Gq.转\\n\\n9049人浏览 · 2025-05-07 15:16:19\\n\\n Gq.转  ·  2025-05-07 15:16:19 发布\\n\\n### 一,通过vllm部署qwen3模型。\\n\\n#### 1.安装vllm\", \"score\": 0.767429, \"published_date\": \"\"}], \"total_results\": 5}", "timestamp": "2025-11-14T13:53:29.069474", "tool_call_id": "web_search:0", "name": "web_search" }, { "role": "assistant", "content": "让我搜索更具体的vLLM部署Qwen3-7B的步骤:", "timestamp": "2025-11-14T13:53:38.852999" }, { "role": "assistant", "content": "", "timestamp": "2025-11-14T13:53:38.875328", "tool_calls": [ { "id": "web_search:1", "index": 0, "type": "function", "function": { "name": "web_search", "arguments": "{\"max_results\": 3, \"query\": \"\\\"vllm serve\\\" Qwen3-7B 部署命令参数 Linux\"}" } } ] }, { "role": "tool", "content": "{\"success\": true, \"summary\": \"🔍 搜索查询: \\\"vllm serve\\\" Qwen3-7B 部署命令参数 Linux\\n📅 搜索时间: 2025-11-14T13:53:47.315634\\n🎯 过滤条件: Topic: general\\n\\n📝 AI摘要:\\nTo deploy Qwen3 with vLLM on Linux, use `vllm serve --model Qwen/Qwen3-1.7B --port 8102`. Set `CUDA_VISIBLE_DEVICES` to specify GPU usage. Adjust `--gpu-memory-utilization` to manage memory.\\n\\n---\\n\\n📊 搜索结果:\\n\\n1. vLLM - Qwen - Read the Docs\\n 🔗 https://qwen.readthedocs.io/zh-cn/latest/deployment/vllm.html\\n 📄 ## 常见问题解答¶\\n\\n 第一个参数是 `--max-model-len` 。我们提供的默认最大位置嵌入(`max_position_embedding`)为 40960 ,因此服务时的最大长度也是这个值,这会导致更高的内存需求。将此值适当减小通常有助于解决OOM问题。\\n 另一个您可以关注的参数是 `--gpu-memory-utilization` 。 vLLM将预分配该参数指定比例的显存。默认...\\n\\n2. 通过vllm部署qwen3大模型以及基于vLLM 的OpenAI 兼容API 接口 ...\\n 🔗 https://agent.csdn.net/6841203a606a8318e85b98b8.html\\n 📄 > 环境变量设置\\n>\\n> `CUDA_VISIBLE_DEVICES=0`:设置环境变量 `CUDA_VISIBLE_DEVICES` 的值为 `0`。这表示只使用系统中编号为 0 的 GPU 来运行 VLLM 服务。如果系统有多个 GPU,这个设置可以指定使用特定的 GPU 来执行模型推理任务。\\n>\\n> VLLM 服务启动命令\\n>\\n> `vllm serve`:这是启动 VLLM 服务的命令...\\n\\n3. vLLM 服务器参数| Red Hat AI Inference Server | 3.0\\n 🔗 https://docs.redhat.com/zh-cn/documentation/red_hat_ai_inference_server/3.0/html-single/vllm_server_arguments/index\\n 📄 Copy to Clipboard\\nCopied!\\n\\nToggle word wrap\\nToggle overflow\\n\\n## 第 2 章 vLLM 服务器参数的完整列表 复制链接链接已复制到粘贴板!\\n\\n以下是可与 `vllm serve` 命令一起使用的 vLLM 服务器参数的完整列表。提供了每个服务器参数和默认值的说明。\\n\\n### 2.1. vLLM 服务器参数 复制链接链接已复制到粘贴板!\\n...\", \"filters\": {\"topic\": \"general\"}, \"query\": \"\\\"vllm serve\\\" Qwen3-7B 部署命令参数 Linux\", \"results\": [{\"index\": 1, \"title\": \"vLLM - Qwen - Read the Docs\", \"url\": \"https://qwen.readthedocs.io/zh-cn/latest/deployment/vllm.html\", \"content\": \"## 常见问题解答¶\\n\\n 第一个参数是 `--max-model-len` 。我们提供的默认最大位置嵌入(`max_position_embedding`)为 40960 ,因此服务时的最大长度也是这个值,这会导致更高的内存需求。将此值适当减小通常有助于解决OOM问题。\\n 另一个您可以关注的参数是 `--gpu-memory-utilization` 。 vLLM将预分配该参数指定比例的显存。默认情况下,该值为 `0.9`。这也是为什么您发现一个vLLM服务总是占用大量内存的原因。如果你使用了eager模式(默认不是),您可以将其调高以应对OOM问题。反之,vLLM会使用CUDA Graphs,而CUDA Graphs会额外占用不受vLLM管理的显存;此时,您应当尝试降低`--gpu-memory-utilization`。如果还是无法解决,可以尝试`--enforce-eager`(这会影响推理效率)或缩小`--max-model-len`。\\n\\n有关 vLLM 的更多使用指南,请参阅 vLLM 的Qwen3 使用指南。 [...] Skip to content\\n\\nBack to top \\n\\nView this page\\n\\n# vLLM¶\\n\\n我们建议您在部署 Qwen 时尝试使用 vLLM。它易于使用,且具有最先进的服务吞吐量、高效的注意力键值内存管理(通过PagedAttention实现)、连续批处理输入请求、优化的CUDA内核等功能。要了解更多关于vLLM的信息,请参阅 论文 和 文档。\\n\\n## 环境配置¶\\n\\n默认情况下,你可以通过 pip 在新环境中安装 `vllm` :\\n\\n```\\n \\\"vllm>=0.8.5\\\"\\n```\\n\\n请留意预构建的`vllm`对`torch`和其CUDA版本有强依赖。请查看vLLM官方文档中的注意事项以获取有关安装的帮助。\\n\\n## API 服务¶\\n\\n借助vLLM,构建一个与OpenAI API兼容的API服务十分简便,该服务可以作为实现OpenAI API协议的服务器进行部署。默认情况下,它将在 ` 启动服务器。您可以通过 `--host` 和 `--port` 参数来自定义地址。请按照以下所示运行命令:\\n\\n```\\n \\n``` [...] 在 vLLM 0.8.5 版本中,`enable_thinking=False` 与此功能不兼容。如果需要向 API 传递 `enable_thinking=False`,则应禁用解析思考内容。此问题已在 vLLM 0.9.0 中通过 `qwen3` 思考解析器得到解决。\\n\\n### 解析工具调用¶\\n\\nvLLM 支持将模型生成的工具调用内容解析为结构化消息:\\n\\n```\\n \\n```\\n\\n详细信息,请参阅函数调用的指南。\\n\\n### 结构化/JSON输出¶\\n\\nvLLM 支持结构化/JSON 输出。请参照vLLM文档了解 `guided_json` 参数。此外,也建议在系统消息或用户提示中指示模型生成特定格式,避免仅依赖于推理参数配置。\\n\\n### 部署量化模型¶\\n\\nQwen3 提供了两种类型的预量化模型:FP8 和 AWQ。\\n\\n部署这些模型的命令与原始模型相同,只是名称有所更改:\\n\\n```\\n # For FP8 quantized model # For AWQ quantized model \\n```\\n\\n备注\", \"score\": 0.7686816, \"published_date\": \"\"}, {\"index\": 2, \"title\": \"通过vllm部署qwen3大模型以及基于vLLM 的OpenAI 兼容API 接口 ...\", \"url\": \"https://agent.csdn.net/6841203a606a8318e85b98b8.html\", \"content\": \"> 环境变量设置\\n>\\n> `CUDA_VISIBLE_DEVICES=0`:设置环境变量 `CUDA_VISIBLE_DEVICES` 的值为 `0`。这表示只使用系统中编号为 0 的 GPU 来运行 VLLM 服务。如果系统有多个 GPU,这个设置可以指定使用特定的 GPU 来执行模型推理任务。\\n>\\n> VLLM 服务启动命令\\n>\\n> `vllm serve`:这是启动 VLLM 服务的命令。它会根据后续的参数和选项来加载指定的模型并启动服务。\\n>\\n> 模型路径\\n>\\n> `/home/xugq/qwen3-1.7b/`:指定要加载的模型所在的目录。在这个例子中,模型存放在 `/home/xugq/qwen3-1.7b/` 目录下。VLLM 会从这个路径加载模型文件和相关配置。\\n>\\n> 服务配置参数\\n>\\n> `--port 8102`:指定 VLLM 服务监听的端口号为 8102。客户端可以通过这个端口与服务进行通信。 [...] `VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3-1.7B --enable-reasoning --reasoning-parser deepseek_r1`\\n\\n如果已经将模型下载到本地文件,可以指定文件路径启动:\\n\\n`CUDA_VISIBLE_DEVICES=0 vllm serve local/qwen3-1.7b/ --port 8888 --gpu-memory-utilization 0.3 --host 0.0.0.0`\\n\\n以下是关于这条命令的详细解释: [...] > –enable-reasoning :启用模型的推理功能,例如逻辑推理、数学推理等,让模型在生成文本时能够进行一定的逻辑思考。\\n> –reasoning-parser :指定使用的推理解析器,如 deepseek\\\\_r1,用于解析推理过程中的逻辑结构,使模型的输出更符合逻辑和预期的格式。\\n>\\n> 其他参数\\n>\\n> –verbose :启用详细日志输出,用于调试和了解服务运行过程中的详细信息。\\n> –help :显示帮助信息,列出所有可用的命令和参数及其简要说明。\", \"score\": 0.75464433, \"published_date\": \"\"}, {\"index\": 3, \"title\": \"vLLM 服务器参数| Red Hat AI Inference Server | 3.0\", \"url\": \"https://docs.redhat.com/zh-cn/documentation/red_hat_ai_inference_server/3.0/html-single/vllm_server_arguments/index\", \"content\": \"Copy to Clipboard\\nCopied!\\n\\nToggle word wrap\\nToggle overflow\\n\\n## 第 2 章 vLLM 服务器参数的完整列表 复制链接链接已复制到粘贴板!\\n\\n以下是可与 `vllm serve` 命令一起使用的 vLLM 服务器参数的完整列表。提供了每个服务器参数和默认值的说明。\\n\\n### 2.1. vLLM 服务器参数 复制链接链接已复制到粘贴板!\\n\\n--model\\n: 要使用的 Hugging Face 模型的名称或路径。\\n\\n 默认值:`facebook/opt-125m`\\n\\n--task\\n: 使用模型的任务。每个 AI Inference 服务器实例只支持一个任务,即使同一模型可用于多个任务。当模型仅支持一个任务时,可以使用 `auto` 来选择它;否则,您必须明确指定要使用的任务。\\n\\n 默认值 :`auto`\\n\\n 选项 :`auto`,`generate`,`embedding`,`embed`,`classify`,`score`,`reward`,`transcription` [...] ```\\nusage: vllm serve [-h] [--host HOST] [--port PORT]\\n [--uvicorn-log-level {debug,info,warning,error,critical,trace}]\\n [--disable-uvicorn-access-log] [--allow-credentials]\\n [--allowed-origins ALLOWED_ORIGINS]\\n [--allowed-methods ALLOWED_METHODS]\\n [--allowed-headers ALLOWED_HEADERS] [--api-key API_KEY]\\n [--lora-modules LORA_MODULES [LORA_MODULES ...]] [...] ```\\nusage: vllm serve [-h] [--host HOST] [--port PORT]\\n [--uvicorn-log-level {debug,info,warning,error,critical,trace}]\\n [--disable-uvicorn-access-log] [--allow-credentials]\\n [--allowed-origins ALLOWED_ORIGINS]\\n [--allowed-methods ALLOWED_METHODS]\\n [--allowed-headers ALLOWED_HEADERS] [--api-key API_KEY]\\n [--lora-modules LORA_MODULES [LORA_MODULES ...]]\", \"score\": 0.68344116, \"published_date\": \"\"}], \"total_results\": 3}", "timestamp": "2025-11-14T13:53:47.316973", "tool_call_id": "web_search:1", "name": "web_search" }, { "role": "assistant", "content": "基于搜索结果,我来为你详细介绍如何在Linux系统上使用vLLM部署Qwen3-7B模型:\n\n## 在Linux系统上使用vLLM部署Qwen3-7B的详细步骤\n\n### 1. 环境准备\n\n**系统要求:**\n- Linux系统(Ubuntu 20.04+ 推荐)\n- NVIDIA GPU(建议至少24GB显存用于7B模型)\n- CUDA 11.8+ 和对应的NVIDIA驱动\n\n**安装NVIDIA驱动和CUDA:**\n```bash\n# 检查GPU状态\nnvidia-smi\n\n# 安装CUDA(如果未安装)\nsudo apt update\nsudo apt install nvidia-cuda-toolkit\n```\n\n### 2. 安装vLLM\n\n**创建虚拟环境(推荐):**\n```bash\n# 创建新的Python环境\npython -m venv vllm_env\nsource vllm_env/bin/activate\n```\n\n**安装vLLM:**\n```bash\n# 安装vLLM(建议使用0.8.5以上版本)\npip install \"vllm>=0.8.5\"\n\n# 或者安装特定版本\npip install vllm==0.8.5\n```\n\n**注意:** vLLM对PyTorch和CUDA版本有强依赖关系,请确保版本兼容。\n\n### 3. 模型部署\n\n**基本部署命令:**\n```bash\n# 使用Hugging Face模型库直接部署\nvllm serve Qwen/Qwen3-7B --port 8000 --host 0.0.0.0\n```\n\n**指定GPU部署:**\n```bash\n# 只使用第0号GPU\nCUDA_VISIBLE_DEVICES=0 vllm serve Qwen/Qwen3-7B --port 8000\n\n# 使用多个GPU(多卡并行)\nCUDA_VISIBLE_DEVICES=0,1 vllm serve Qwen/Qwen3-7B --tensor-parallel-size 2 --port 8000\n```\n\n### 4. 内存优化参数\n\n**重要参数配置:**\n```bash\n# 优化内存使用的完整命令\nCUDA_VISIBLE_DEVICES=0 vllm serve Qwen/Qwen3-7B \\\n --port 8000 \\\n --host 0.0.0.0 \\\n --max-model-len 8192 \\\n --gpu-memory-utilization 0.8 \\\n --enforce-eager\n```\n\n**参数说明:**\n- `--max-model-len 8192`:减小最大序列长度,降低内存需求(默认40960太大)\n- `--gpu-memory-utilization 0.8`:GPU内存使用率,根据显存调整\n- `--enforce-eager`:禁用CUDA Graphs,减少额外显存占用\n- `--tensor-parallel-size`:多GPU并行时的GPU数量\n\n### 5. 启用推理模式(可选)\n\n**启用Qwen3的推理功能:**\n```bash\n# 启用推理模式\nvllm serve Qwen/Qwen3-7B \\\n --port 8000 \\\n --enable-reasoning \\\n --reasoning-parser deepseek_r1\n```\n\n### 6. 使用ModelScope(国内用户)\n\n**设置ModelScope源:**\n```bash\n# 设置环境变量使用ModelScope\nexport VLLM_USE_MODELSCOPE=true\n\n# 然后从ModelScope部署\nvllm serve qwen/Qwen3-7B --port 8000\n```\n\n### 7. 部署验证\n\n**测试API服务:**\n```bash\n# 使用curl测试\ncurl http://localhost:8000/v1/chat/completions \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"Qwen/Qwen3-7B\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello, how are you?\"}],\n \"max_tokens\": 100\n }'\n```\n\n**Python客户端测试:**\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"http://localhost:8000/v1\",\n api_key=\"EMPTY\" # vLLM不需要真实的API密钥\n)\n\nresponse = client.chat.completions.create(\n model=\"Qwen/Qwen3-7B\",\n messages=[{\"role\": \"user\", \"content\": \"Hello, how are you?\"}]\n)\nprint(response.choices[0].message.content)\n```\n\n### 8. 常见问题解决\n\n**内存不足问题:**\n- 降低`--max-model-len`参数\n- 减小`--gpu-memory-utilization`值\n- 添加`--enforce-eager`参数\n- 考虑使用量化模型(FP8或AWQ版本)\n\n**多GPU部署:**\n```bash\n# 4卡并行示例\nCUDA_VISIBLE_DEVICES=0,1,2,3 vllm serve Qwen/Qwen3-7B \\\n --tensor-parallel-size 4 \\\n --port 8000\n```\n\n### 9. 生产环境建议\n\n**使用Docker部署(推荐):**\n```bash\n# 拉取vLLM镜像\ndocker pull vllm/vllm-openai:latest\n\n# 运行容器\ndocker run --gpus all -p 8000:8000 \\\n -v ~/.cache/huggingface:/root/.cache/huggingface \\\n vllm/vllm-openai:latest \\\n vllm serve Qwen/Qwen3-7B --port 8000 --host 0.0.0.0\n```\n\n**后台运行:**\n```bash\n# 使用nohup后台运行\nnohup vllm serve Qwen/Qwen3-7B --port 8000 --host 0.0.0.0 > vllm.log 2>&1 &\n```\n\n这样你就完成了在Linux系统上使用vLLM部署Qwen3-7B模型的完整流程。根据你的GPU配置和具体需求,可以调整相应的参数来优化性能和内存使用。", "timestamp": "2025-11-14T13:54:19.500334" } ], "todo_list": null, "metadata": { "project_path": "/opt/agent/agents/users/jojo/project", "project_relative_path": "users/jojo/project", "thinking_mode": true, "total_messages": 8, "total_tools": 4, "status": "active" }, "token_statistics": { "total_input_tokens": 29055, "total_output_tokens": 1699, "updated_at": "2025-11-14T14:07:55.506628" } }