当前位置: 首页 > ops >正文

访问vLLM启动的大模型,报错The model `XXX/XXX` does not exist

报错信息

刚开始运行程序的时候,一直报错:

ERROR:root:调用本地模型失败: Error code: 404 - {'object': 'error', 'message': 'The model `Qwen/QwQ-32B` does not exist.', 'type': 'NotFoundError', 'param': None, 'code': 404}

排查

使用下面的命令,查看模型的详细信息。

curl http://127.0.0.1:8000/v1/models

返回结果

{"object": "list","data": [{"id": "/root/.cache/modelscope/hub/models/Qwen/QwQ-32B","object": "model","created": 1748241077,"owned_by": "vllm","root": "/root/.cache/modelscope/hub/models/Qwen/QwQ-32B","parent": null,"max_model_len": 40960,"permission": [{"id": "modelperm-c461f1432aa348cea67b07443c0f0da2","object": "model_permission","created": 1748241077,"allow_create_engine": false,"allow_sampling": true,"allow_logprobs": true,"allow_search_indices": false,"allow_view": true,"allow_fine_tuning": false,"organization": "*","group": null,"is_blocking": false}]}]
}

原因

其中 id 就是模型的实际名称,如下

# 使用 vLLM 的模型名(根据你 curl /v1/models 返回的 model id 来填写)MODEL_NAME = "/root/.cache/modelscope/hub/models/Qwen/QwQ-32B"

回顾之前的启动命令,即使用 vllm 启动 QWQ-32B 的命令如下:

python -m vllm.entrypoints.openai.api_server \
--model /root/.cache/modelscope/hub/models/Qwen/QwQ-32B \
--tensor-parallel-size 4 \
--host 0.0.0.0 \
--port 8000 \
--max-num-batched-tokens 2048 \
--gpu-memory-utilization 0.85

并没有指定对外暴露的模型名称。

要让 MODEL_NAME = "QwQ-32B" 成功调用你的本地模型,你需要在启动 vLLM 服务时加上一个参数::

# 最后添加这个参数
--hosted-model-name QwQ-32B \# 也就是
--host 0.0.0.0 \
--port 8000 \
--model /root/.cache/modelscope/hub/models/Qwen/QwQ-32B \
--hosted-model-name QwQ-32B \

它表示:虽然模型实际路径是 /root/.cache/...,但对外暴露的模型名是 QwQ-32B

vLLM启动,完整的命令如下

python -m vllm.entrypoints.openai.api_server \
--model /root/.cache/modelscope/hub/models/Qwen/QwQ-32B \
--tensor-parallel-size 4 \
--host 0.0.0.0 \
--port 8000 \
--max-num-batched-tokens 2048 \
--gpu-memory-utilization 0.85 \
--hosted-model-name QwQ-32B

参数详解

1. python -m vllm.entrypoints.openai.api_server

  • 启动的是 vLLM 的 OpenAI API 兼容服务器
  • 这个服务器对外提供与 OpenAI API 类似的接口(如 /v1/chat/completions
  • 可以用 curl、Python SDK 或前端调用,兼容 OpenAI 格式请求

2. --model /root/.cache/modelscope/hub/models/Qwen/QwQ-32B

  • 指定要加载的模型路径
  • 这里是本地存储的 QwQ-32B 模型,通常是一个 HuggingFace 风格的模型文件夹
  • 支持 GGUF、HuggingFace、以及经过 vLLM 转换后的张量并行模型

3. --tensor-parallel-size 4

  • 表示使用 4 块 GPU 来进行 Tensor Parallelism(张量并行)
  • QwQ-32B 是一个大模型,单卡放不下,所以需要拆分到多个 GPU 上推理
  • 如果你有 4 张卡,这个设置合理;如果只有 1 张卡,就设为 --tensor-parallel-size 1

4. --host 0.0.0.0

  • 设置监听地址为所有网络接口
  • 这样可以从外部访问该服务(比如从其他机器通过 IP 访问)
  • 如果只想本机访问,可以改为 --host 127.0.0.1

5. --port 8000

  • 设置服务监听的端口号为 8000
  • 可以通过浏览器或 API 请求访问:http://localhost:8000http://<ip>:8000

6. --max-num-batched-tokens 2048

  • 控制每次 batch 中最多处理多少个 token(输入 + 输出)
  • 增大这个值可以提高吞吐量,但会占用更多显存
  • 默认值通常是 2560 左右,这里设为 2048 是为了控制显存使用

7. --gpu-memory-utilization 0.85

  • 设置 GPU 显存使用率为 85%
  • 这是为了防止 OOM(Out Of Memory),留出一部分缓冲空间
  • 默认值是 0.9,如果你的显存较小,可以适当降低(如 0.7)

8. --hosted-model-name QwQ-32B

它表示:虽然模型实际路径是 /root/.cache/…,但对外暴露的模型名是 QwQ-32B


示例请求(使用 curl)

你可以使用如下命令测试服务是否正常运行:

curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "QwQ-32B","messages": [{"role": "user", "content": "讲个笑话吧"}]
}'

示例请求(使用python代码)

import openaiclient = openai.OpenAI(base_url="http://localhost:8000/v1",api_key="EMPTY"  # 如果没有启用鉴权,可以为空
)completion = client.chat.completions.create(model="QwQ-32B",  # ← 这里就能用了!messages=[{"role": "user", "content": "你好,请讲个笑话。"}]
)print(completion.choices[0].message.content)
http://www.xdnf.cn/news/14244.html

相关文章:

  • 嵌入式开发--汇川伺服干扰造成FDCAN模块错误过多导致死机
  • 芯片测试之 trim修调测试详解
  • AI结构化数据:智能聊天与传统开发的结合
  • Java大模型开发入门 (6/15):对话的灵魂 - 深入理解LangChain4j中的模型、提示和解析器
  • 从0到1掌握数据库安全:用户认证与授权的深度实践
  • ToonMe:照片变卡通,创意无限
  • Java大模型开发入门 (8/15):连接外部世界(上) - RAG入门与文档加载
  • <10>-MySQL索引特性
  • 华为云Flexus+DeepSeek征文|基于华为云Flexus云服务的Dify一键部署
  • HTML+CSS 登陆框动态切换
  • NGINX 四层上游健康检查模块实战`ngx_stream_upstream_hc_module`
  • 会计 - 财务报告
  • 力扣 2616. 最小化数对的最大差值 题解
  • cpu微码大全 微码添加工具 八九代cpu针脚屏蔽图
  • c++ 右值引用移动构造函数
  • 功能安全实战系列10-英飞凌TC3xx_SRI总线监控开发
  • 动态代理选择:JDK vs CGLIB
  • 2.6 激光雷达消息格式
  • ESP32开发-ESP32P4环境配置
  • 【AD笔记】嘉立创元件导入到AD中(原理图-pcd-3D模型)
  • std::ifstream file(filename);详细解释
  • 十字滑台是否可以进行自动化控制?
  • window11等禁止系统更新的设置
  • 【数梦工场】【智慧航空AI大赛】比赛分享 阅读笔记
  • Hugging face 和 魔搭
  • 【论文阅读】Qwen2.5-VL Technical Report
  • Unity 对象层级处理小结
  • UI前端与大数据:如何构建实时数据分析系统?
  • 13_算法链与管道
  • 用于生成式新颖视图合成的密集 3D 场景完成