下载和调用通义千问大模型
通过以下命令,从魔塔下载了通义千问的模型:
#ubuntu bash
modelscope download --model Qwen/Qwen2.5-7B-Instruct
运行如下命令,容器才能启动,网上的给的启动不了
#ubuntu bash
docker run -d \
--name vllm-qwen \
--gpus all \
-p 8000:8000 \
-v /home/ubuntu/.cache/modelscope/hub/models/Qwen/Qwen2.5-7B-Instruct:/app/model \
XXXXXX.xuanyuan.run/vllm/vllm-openai:latest \ #这个跟你的镜像名字保持一致
--model /app/model \
--tensor-parallel-size 1 \
--host 0.0.0.0 \
--port 8000 \
--trust-remote-code \
--dtype auto \
--max-model-len 4096
容器蹦了。。。从日志里分析,原因为我的GPU带不动这个模型。。。GPU内存不够。。具体为:
log:
(EngineCore_DP0 pid=94) INFO 11-11 23:29:05 [gpu_model_runner.py:2653] Model loading took 14.2488 GiB and 8.459210 seconds
(EngineCore_DP0 pid=94) INFO 11-11 23:29:32 [gpu_worker.py:298] Available KV cache memory: -0.83 GiB
关键结论:
- 模型权重占用 14.25 GiB(7B模型 bfloat16 标准占用)
- RTX 5060 Ti 16GB 显存,但 vLLM 需要额外 1.83 GiB 用于 KV 缓存
- 当前配置
--gpu-memory-utilization 0.95仅允许使用 15.2 GB (16*0.95) - 实际可用显存 = 15.2 - 14.25 = 0.95 GiB,但 KV 缓存需要 1.83 GiB → 显存不足 0.88 GiB
RTX 5060 Ti 显存不足问题终极解决(已验证)
大模型推荐我使用Qwen2.5-7B-Instruct-AWQ,所以换了模型,运行如下指令
# 停止当前容器
docker stop vllm-qwen && docker rm vllm-qwen
1 # 最佳实践命令(WSL/RTX 50系列专用)
2 docker run -d \
3 --name vllm-qwen \
4 --gpus '"device=0"' \
5 --ipc=host \
6 --ulimit memlock=-1 \
7 --ulimit stack=67108864 \
8 --cap-add SYS_ADMIN \ # 允许内存锁定
9 -p 8000:8000 \
10 -v /home/ubuntu/.cache/modelscope/hub/models/Qwen/Qwen2.5-7B-Instruct-AWQ:/app/model \
11 777777.xuanyuan.run/vllm/vllm-openai:latest \
12 --model /app/model \--served-model-name Qwen2.5-Chat \
13 --quantization awq \
14 --tensor-parallel-size 1 \
15 --host 0.0.0.0 \
16 --port 8000 \
17 --trust-remote-code \
18 --gpu-memory-utilization 0.85 \
19 --disable-custom-all-reduce \
20 --max-num-seqs 16 \ # 优化并发
21 --enable-chunked-prefill # 提升吞吐安装webui方便互动
从华为云下载了open-webui.tar,拷贝到ubuntu的home下。
执行加载命令:
#ubuntu bash
docker load -i open-webui.tar验证镜像是否加载成功:
docker images
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:main 387ed8527155启动 Open WebUI 容器(使用你已有的镜像)
1 docker run -d \
2 --name open-webui \
3 --add-host=host.docker.internal:host-gateway \
4 -p 3000:8080 \
5 -e OLLAMA_BASE_URL=http://host.docker.internal:8000/v1 \
6 -e WEBUI_AUTH=false \
7 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:main说明:
--add-host=host.docker.internal:host-gateway:确保容器内能通过host.docker.internal访问 WSL2 主机上的 vLLM(监听在 8000 端口)-e OLLAMA_BASE_URL=...:告诉 Open WebUI 后端 API 地址是 vLLM 的 OpenAI 兼容接口-p 3000:8080:将 Web UI 的 8080 端口映射到主机的 3000 端口
补充说明(11月13月)
经过这几天的测试,我这个华为的openwebui用不了,原因是在“选择模型”选项里,一直无法识别,查日志,反馈为openwebui一直调用ollama的框架,没有调用openai的。具体的我也不清楚,反正就是不行。然后,官网的openwebui又下载不下来。
不折腾了。找个替代产品。chatbox 1.17.1!!具体步骤如下:
1、添加自定义模型
- 点击左下角 「+」 或 「Add Model」
- 选择 「Custom OpenAI Compatible API」
2、填写配置信息
| 字段 | 值 |
|---|---|
| Model Name | Qwen2.5-Chat (必须与 API 返回的 id 一致) |
| API Base URL | http://localhost:8000/v1 |
| API Key | 任意填写,例如 not-needed(vLLM 默认不验证) |
| (可选) Max Tokens | 32768(根据返回的 max_model_len 设置) |
3. 保存并测试
- 保存后,在聊天界面选择
Qwen2.5-Chat模型 - 发送一条测试消息,如 “你好!”
- 观察是否收到回复,并查看 WSL2 终端是否有推理日志
可以进行交互了,就是非常的慢。。。。我考虑准备换模型了
