Qwen3-14b_int4_awq部署教程(离线环境):无外网情况下模型权重与依赖包全量打包方案
1. 准备工作与环境说明
在开始部署前,我们需要明确几个关键点:
- 离线环境:意味着所有依赖都需要预先下载并打包
- 全量打包:包括模型权重文件、Python依赖包、系统库等
- 部署目标:使用vLLM部署Qwen3-14b_int4_awq文本生成模型,并通过Chainlit提供前端交互界面
1.1 硬件要求建议
- GPU:至少24GB显存(如NVIDIA A10G、RTX 3090等)
- 内存:建议64GB以上
- 存储空间:模型权重约15GB,加上依赖包建议预留30GB空间
1.2 需要准备的文件
- 模型权重文件(Qwen3-14b_int4_awq)
- vLLM框架及其依赖
- Chainlit前端依赖
- Python环境(建议3.8-3.10)
- CUDA/cuDNN等GPU驱动
2. 离线环境打包方案
2.1 在有网络的环境中准备依赖包
首先在一台有网络连接的机器上准备所有需要的文件:
# 创建工作目录 mkdir -p qwen3-offline-packages cd qwen3-offline-packages # 下载模型权重(假设已有下载链接) wget <模型权重下载链接> -O qwen3-14b-int4-awq.tar.gz # 创建Python虚拟环境 python -m venv venv source venv/bin/activate # 使用pip下载所有依赖包 pip download vllm chainlit torch transformers --platform manylinux2014_x86_64 --only-binary=:all:2.2 打包系统依赖
对于CUDA等系统级依赖,建议使用容器方案或预先下载对应版本的runfile:
# 示例:下载CUDA安装包 wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run2.3 创建部署脚本
准备一个部署脚本install.sh,包含以下内容:
#!/bin/bash # 解压模型权重 tar -xzf qwen3-14b-int4-awq.tar.gz -C /opt/models # 安装CUDA(如果尚未安装) chmod +x cuda_11.8.0_520.61.05_linux.run ./cuda_11.8.0_520.61.05_linux.run --silent --toolkit # 安装Python依赖 python -m pip install --no-index --find-links=./packages vllm chainlit torch transformers3. 离线环境部署步骤
3.1 传输文件到目标机器
将打包好的文件夹(包含模型权重、依赖包、安装脚本)通过U盘或内网传输到目标机器:
qwen3-offline-packages/ ├── packages/ # 所有Python依赖包 ├── qwen3-14b-int4-awq.tar.gz # 模型权重 ├── cuda_11.8.0_520.61.05_linux.run # CUDA安装包 └── install.sh # 安装脚本3.2 执行安装脚本
在目标机器上运行:
chmod +x install.sh ./install.sh3.3 验证CUDA安装
nvcc --version # 应显示CUDA 11.8版本信息4. 启动模型服务
4.1 使用vLLM启动模型
创建一个启动脚本start_server.sh:
#!/bin/bash source venv/bin/activate python -m vllm.entrypoints.api_server \ --model /opt/models/qwen3-14b-int4-awq \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.9 \ --served-model-name qwen3-14b-awq \ --port 8000 \ --log-file /root/workspace/llm.log赋予执行权限并启动:
chmod +x start_server.sh nohup ./start_server.sh &4.2 验证服务是否正常运行
cat /root/workspace/llm.log # 看到类似以下输出表示成功: # INFO: Started server process [1234] # INFO: Waiting for application startup. # INFO: Application startup complete. # INFO: Uvicorn running on http://0.0.0.0:80005. 配置Chainlit前端
5.1 创建Chainlit应用
新建app.py文件:
import chainlit as cl from openai import OpenAI client = OpenAI( base_url="http://localhost:8000/v1", api_key="no-key-required" ) @cl.on_message async def main(message: cl.Message): response = client.chat.completions.create( model="qwen3-14b-awq", messages=[{"role": "user", "content": message.content}], temperature=0.7, ) await cl.Message(content=response.choices[0].message.content).send()5.2 启动Chainlit服务
chainlit run app.py -w访问http://localhost:8000即可与模型交互。
6. 常见问题解决
6.1 模型加载失败
可能原因:
- 模型路径不正确
- GPU内存不足
解决方案:
- 检查
/opt/models下是否有正确的模型文件 - 尝试减小
--gpu-memory-utilization参数值
6.2 CUDA版本不匹配
错误示例:
CUDA error: no kernel image is available for execution解决方案:
- 确保安装的CUDA版本与PyTorch版本匹配
- 对于Qwen3-14b_int4_awq,建议使用CUDA 11.8
6.3 端口冲突
如果8000端口被占用,可以修改启动参数:
# 修改api_server的--port参数 # 修改Chainlit的默认端口通过环境变量 CHAINLIT_PORT=8001 chainlit run app.py -w7. 总结
通过本教程,我们完成了在完全离线环境下的Qwen3-14b_int4_awq模型部署,主要步骤包括:
- 在有网络环境下预先打包所有依赖
- 将模型权重、依赖包和安装脚本传输到目标机器
- 执行安装脚本配置环境
- 使用vLLM启动模型服务
- 配置Chainlit提供交互式前端
这种全量打包方案特别适合:
- 企业内部部署
- 安全要求高的环境
- 无外网连接的服务器
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。