avatar

Wang's Blog

Be Open, Share Knowledge, Keep Learning

  • 首页
  • 数理基础
  • 宇宙机
  • LLM
  • 管理与经济
  • 游戏
Home 大模型入门(8)——vLLM框架
文章

大模型入门(8)——vLLM框架

Posted 2025-09-28 Updated 2025-09- 7
By Administrator
6~8 min read
  • vLLM是什么:一个开源的高性能大模型推理与服务框架,不是模型本身。

  • 它做什么:把本地或云端的 Hugging Face 模型加载到显卡上,提供 OpenAI 兼容的 /v1 接口;支持流式输出、连续批处理、高并发、KV Cache 优化(PagedAttention),吞吐量高、延迟低。

  • 适用场景:服务器端部署(多 GPU/高并发),需要通过“OpenAI 风格”的 HTTP API 对外提供推理服务。

  • 和出现的问题的关系:我的客户端只是调用 OpenAI 兼容接口,不会直接加载权重。若想用本地权重 /Data/public/Qwen3-8B,需要先用 vLLM(或同类服务)把模型“挂起来”,在端口(如 12345)暴露 /v1;否则就改去连已有的服务(比如本机已运行的 Ollama 11434)。

  • 和 Ollama 对比:Ollama 更偏简易/桌面或单机体验;vLLM 更偏服务器/数据中心场景,追求更高并发与吞吐。

写这篇文章主要是因为在服务器上跑vtuber的时候,我的配置是本地权重/Data/public/Qwen3-8B,但是运行的时候出现了如下问题;

2025-08-24 17:03:12 | ERROR | src.open_llm_vtuber.agent.stateless_llm.openai_compatible_llm:chat_completion:201 | Error calling the chat endpoint: Connection error. Failed to connect to the LLM API.

后来发现原因在于我配置上连接的是12345端口,配置里的 openai_compatible_llm 指向 http://localhost:12345/v1,但我自己机器上 12345 端口没有任何服务在监听,所以客户端连不上。并不是因为无法访问 /Data/public/Qwen3-8B

openai_compatible_llm 是“OpenAI 风格的HTTP客户端”,客户端不会直接加载本地权重目录,它只会向base_url指定的HTTP服务发送请求,因此需要连接一个已经启动的“OpenAI 兼容推理服务”(如 vLLM、Ollama、LM Studio、TGI 等)。把 model 配成本地路径不会让客户端直接加载权重;必须先有服务进程把这组权重加载起来并对外暴露 /v1

之前vLLM把模型“挂起来”,在端口12345暴露/v1,但是现在他那边没挂,所以没有服务在跑,所以报“连接失败”。所以理论上解决方案有两个:

  • 1.用服务器提供的Ollama模型

  • 2.我自己起一个推理服务(vLLM/TGI)

方案一可行,但是得改配置文件,之后合并起来也会比较麻烦,所以没选

方案二的话只需要我在终端输入指令让服务器起一个vLLM服务就行

1.安装vllm : pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

2.执行指令:CUDA_VISIBLE_DEVICES=0 vllm serve /Data/public/Qwen3-8B --api-key genshin --seed 0 --port 12345 --max-model-len 40000 --trust-remote-code --enable-auto-tool-choice --tool-call-parser hermes &

openai_compatible_llm 实际上是一个集成和协调平台,连接和协调各种外部模型的服务

后面发现同时运行Qwen3-8B,asr,tts和Embedding模型会爆显存,所以限制一下Qwen3-8B的显存占用率

CUDA_VISIBLE_DEVICES=0 vllm serve /Data/public/Qwen3-8B --api-key genshin --seed 0 --port 12345 --max-model-len 40000 --trust-remote-code --enable-auto-tool-choice --tool-call-parser hermes --gpu-memory-utilization 0.6 &

这是一条API服务启动命令

CUDA_VISIBLE_DEVICES=4 vllm serve /Data/public/Qwen3-8B --api-key genshin --seed 0 --port 12345 --max-model-len 7000 --trust-remote-code --enable-auto-tool-choice --tool-call-parser hermes --gpu-memory-utilization 0.4 &

LLM, 大模型入门
License:  CC BY 4.0
Share

Further Reading

Sep 28, 2025

代码阅读与运行1

RLHF 试着运行了一份非常基础的RLHF代码,来源于:https://github.com/lansinuote/Simple_RLHF_tiny B站上有对应视频 📁项目结构 Simple_RLHF_tiny-main/ ├── 🔧 核心代码文件 │ ├── util.py # 工具类:To

Sep 28, 2025

大模型入门(6)——Agent、MCP、FunctionCall

内容来自B站视频:【10分钟讲清楚 Prompt, Agent, MCP 是什么】https://www.bilibili.com/video/BV1aeLqzUE6L?vd_source=a704063646d181fb265230f6b49cca81 System Prompt和User Pro

Sep 28, 2025

代码阅读与运行2

这次运行的是大名鼎鼎的OpenRLHF 遇到的一些问题 自己的设备是colab提供的A100 GPU,显存40GB 安装的过程没有太大问题,都能顺利解决,安装之后按照README的顺序试着用以下命令启动SFT的训练(提供的脚本还没试过) !deepspeed --module openrlhf.cl

OLDER

git指令

NEWER

LangChain框架学习

Recently Updated

  • C++
  • Hello World
  • 数据仓库复习整理
  • 代码阅读与运行1
  • 大模型入门(6)——Agent、MCP、FunctionCall

Trending Tags

Halo 前端 强化学习 Python obsidian

Contents

©2026 Wang's Blog. Some rights reserved.

Using the Halo theme Chirpy