通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI部署教程:Ubuntu 20。04服务器环境一键配置

张开发
2026/4/16 18:57:26 15 分钟阅读

分享文章

通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI部署教程:Ubuntu 20。04服务器环境一键配置
通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI部署教程Ubuntu 20.04服务器环境一键配置最近有不少朋友在问怎么在公司的Linux服务器上把通义千问那个小尺寸的模型跑起来还要有个能用的网页界面。确实对于运维或者想在生产环境里快速验证模型效果的团队来说一个稳定、可复现的部署流程太重要了。今天我就以Ubuntu 20.04这个非常常见的服务器系统为例带你走一遍完整的部署流程。我们会用到星图平台的预置镜像基本上能做到“一键启动”重点会放在服务器环境的检查、服务的持久化运行这些生产环境更关心的问题上。整个过程你不需要去折腾复杂的Python环境或者手动编译跟着步骤来就行。1. 部署前准备环境检查在拉取镜像和启动服务之前花几分钟检查一下你的服务器基础环境能避免后面很多“莫名其妙”的错误。这就像盖房子前先看看地基稳不稳。1.1 系统与硬件确认首先我们登录到你的Ubuntu 20.04服务器。打开终端挨个执行下面几个命令。看看系统版本是不是对的这个教程是针对20.04写的其他版本可能有些细节不一样。cat /etc/os-release输出里应该能看到VERSION20.04之类的信息。既然是跑AI模型GPU是核心。我们得确认服务器上确实有NVIDIA的显卡并且能被系统识别。lspci | grep -i nvidia如果这个命令有输出比如显示了“NVIDIA Corporation”的设备信息那说明硬件是存在的。如果没输出那你可能是在一台没有GPU或者GPU没被正确识别的机器上后续步骤就跑不起来了。1.2 GPU驱动与CUDA兼容性有显卡还不够还得有驱动让它干活。检查一下NVIDIA驱动装好了没以及版本。nvidia-smi这个命令非常关键。如果执行成功你会看到一个表格显示了GPU的型号、使用情况、驱动版本和CUDA版本。请记下右上角显示的“CUDA Version”比如“CUDA 11.4”或“CUDA 12.1”。我们后面选择的镜像需要和这个CUDA版本大致兼容。如果执行nvidia-smi报错“command not found”那说明驱动没装。在Ubuntu 20.04上可以用下面的命令安装sudo apt update sudo apt install nvidia-driver-470 -y # 470是一个较通用的版本你也可以根据官网推荐选择安装完成后需要重启服务器让驱动生效。1.3 安装必要的系统工具确保一些基础工具已经安装后续步骤会用到。sudo apt update sudo apt install -y curl wget git2. 获取并启动通义千问WebUI镜像环境检查完毕我们就可以开始部署核心服务了。这里我们使用预置好的Docker镜像省去了自己配置Python、安装依赖、下载模型等一大堆麻烦事。2.1 拉取预置镜像假设你已经在星图平台创建了实例并选择了带有合适CUDA版本的基础环境比如CUDA 11.8。那么在实例的终端里直接拉取通义千问的WebUI镜像即可。镜像名通常包含了模型和优化信息。docker pull your-mirror-registry/qwen1.5-1.8b-chat-gptq-webui:latest请注意your-mirror-registry需要替换为你实际使用的镜像仓库地址。你可以从星图镜像广场找到准确的镜像名称和拉取命令。2.2 一键启动容器镜像拉取成功后用一个命令启动它。下面这个命令比较长但每个参数都很重要docker run -d --name qwen-webui \ --gpus all \ -p 7860:7860 \ -v /data/qwen/models:/app/models \ -v /data/qwen/cache:/app/cache \ your-mirror-registry/qwen1.5-1.8b-chat-gptq-webui:latest我来解释一下这些参数是干嘛的-d让容器在后台运行。--name qwen-webui给容器起个名字方便管理。--gpus all把宿主机的所有GPU都挂载给容器用这是能调用GPU的关键。-p 7860:7860端口映射。把容器内部的7860端口WebUI默认端口映射到宿主机的7860端口。这样你就能通过服务器的IP和这个端口访问界面了。-v /data/qwen/models:/app/models数据卷挂载。把宿主机的/data/qwen/models目录挂载到容器内的/app/models。强烈建议这样做这样模型文件就保存在了宿主机上即使容器删除重建模型也不用重新下载。-v /data/qwen/cache:/app/cache同上用于挂载缓存目录。执行命令后可以用下面的命令查看容器是否在运行docker ps你应该能看到一个名为qwen-webui的容器状态是“Up”。2.3 首次运行与模型下载容器第一次启动时会自动从模型仓库下载Qwen1.5-1.8B-Chat-GPTQ-Int4这个量化版的模型。这个过程需要一些时间取决于你的网络速度。你可以查看容器的日志来了解下载进度和启动状态docker logs -f qwen-webui看到日志里出现类似 “Running on local URL: http://0.0.0.0:7860” 的信息就说明WebUI服务已经启动好了。3. 服务器网络与访问配置服务跑起来了但怎么从外面访问它呢这里涉及到服务器的网络配置。3.1 配置防火墙如果启用如果你的云服务器或本地服务器启用了防火墙如ufw需要放行我们映射的端口7860。# 查看防火墙状态 sudo ufw status # 如果状态是 active则添加规则 sudo ufw allow 7860/tcp sudo ufw reload3.2 访问WebUI界面现在打开你的浏览器访问http://你的服务器IP地址:7860。 如果一切顺利你就能看到通义千问的聊天界面了。在输入框里试试问它一些问题比如“介绍一下你自己”感受一下这个1.8B参数模型在量化后的响应速度和质量。注意如果你在本地电脑浏览器访问服务器上的服务需要确保服务器安全组的入站规则也允许7860端口访问对于云服务器。4. 进阶配置系统服务实现开机自启用docker run启动服务很方便但服务器一旦重启容器就停了。对于生产环境我们需要把它配置成一个系统服务让它可以随系统启动、自动重启并且方便地用systemctl命令管理。4.1 创建Systemd服务文件我们用systemd来管理这个Docker容器。创建一个服务配置文件sudo vim /etc/systemd/system/qwen-webui.service将下面的内容粘贴进去。请根据你的实际情况修改ExecStart命令中的镜像名称和挂载路径。[Unit] DescriptionQwen1.5-1.8B Chat WebUI Service Requiresdocker.service Afterdocker.service network-online.target [Service] Typesimple Restartalways RestartSec10 ExecStart/usr/bin/docker run --rm --name qwen-webui --gpus all -p 7860:7860 -v /data/qwen/models:/app/models -v /data/qwen/cache:/app/cache your-mirror-registry/qwen1.5-1.8b-chat-gptq-webui:latest ExecStop/usr/bin/docker stop qwen-webui ExecStopPost/usr/bin/docker rm qwen-webui [Install] WantedBymulti-user.target这个配置文件做了几件事Restartalways确保服务崩溃后自动重启。ExecStart定义了启动容器的完整命令。ExecStop定义了停止服务时先停止容器。ExecStopPost停止后删除容器因为启动命令用了--rm这里确保清理。4.2 启动并启用服务保存文件后执行以下命令# 重新加载systemd配置 sudo systemctl daemon-reload # 启动服务 sudo systemctl start qwen-webui # 查看服务状态确认运行正常 sudo systemctl status qwen-webui # 设置开机自启 sudo systemctl enable qwen-webui现在你的通义千问WebUI服务就已经被systemd托管了。你可以使用sudo systemctl restart qwen-webui来重启服务使用sudo journalctl -u qwen-webui -f来实时查看日志管理起来和系统其他服务一模一样。5. 总结走完这一套流程你应该已经在Ubuntu 20.04服务器上拥有一个稳定运行的通义千问1.5-1.8B模型的WebUI服务了。整个过程的核心思路很清晰先打好基础检查好GPU和驱动然后利用成熟的Docker镜像避免环境冲突最后通过systemd把容器服务化满足生产环境对稳定性的要求。这种部署方式的好处是隔离性好升级或回滚镜像版本也很方便。如果未来模型有更新你只需要拉取新的镜像然后重启qwen-webui这个systemd服务就可以了数据和配置都因为做了卷挂载而得以保留。对于想快速在内部搭建一个轻量级AI对话服务进行测试或使用的团队来说这是一个非常实用的方案。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章