GLM-4v-9b部署教程:vLLM推理服务器配置+OpenWebUI反向代理完整步骤

📅 发布时间:2026/7/6 13:26:37 👁️ 浏览次数:
GLM-4v-9b部署教程:vLLM推理服务器配置+OpenWebUI反向代理完整步骤
GLM-4v-9b部署教程vLLM推理服务器配置OpenWebUI反向代理完整步骤1. 引言为什么选择GLM-4v-9b如果你正在寻找一个既能看懂图片又能理解文字的多模态AI模型而且希望它能在单张显卡上流畅运行那么GLM-4v-9b可能就是你要找的答案。这个模型有90亿参数支持1120×1120的高分辨率图片输入在中英文多轮对话、图像描述、视觉问答等任务上表现优异。最重要的是它经过INT4量化后只需要9GB显存一张RTX 4090就能流畅运行。本文将手把手教你如何部署GLM-4v-9b模型包括配置vLLM推理服务器和设置OpenWebUI反向代理让你能够通过网页界面轻松使用这个强大的多模态模型。2. 环境准备与依赖安装2.1 系统要求在开始之前请确保你的系统满足以下要求操作系统Ubuntu 20.04或更高版本其他Linux发行版也可但本文以Ubuntu为例显卡NVIDIA显卡至少24GB显存推荐RTX 4090或同等级别驱动NVIDIA驱动版本525.60.11或更高CUDACUDA 11.8或更高版本内存至少32GB系统内存存储至少50GB可用空间用于模型文件和依赖包2.2 基础环境配置首先更新系统并安装基础依赖# 更新系统包列表 sudo apt update sudo apt upgrade -y # 安装基础工具 sudo apt install -y python3-pip python3-venv git wget curl # 创建项目目录 mkdir glm-4v-deployment cd glm-4v-deployment # 创建Python虚拟环境 python3 -m venv glm-env source glm-env/bin/activate2.3 安装PyTorch与CUDA安装适合你CUDA版本的PyTorch# 对于CUDA 11.8 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 或者对于CUDA 12.1 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu1213. vLLM推理服务器配置3.1 安装vLLMvLLM是一个高效的大语言模型推理和服务库专门优化了推理速度和内存使用# 安装vLLM pip install vllm # 安装额外的依赖 pip install transformers4.34.0 pip install accelerate3.2 下载GLM-4v-9b模型你可以从Hugging Face下载模型权重# 安装git-lfs如果尚未安装 sudo apt install -y git-lfs # 克隆模型仓库请确保你有权访问该模型 git lfs install git clone https://huggingface.co/THUDM/glm-4v-9b如果你无法直接访问Hugging Face也可以从其他镜像源下载或者使用已经下载好的模型文件。3.3 启动vLLM服务器使用以下命令启动vLLM推理服务器# 启动vLLM服务器 python -m vllm.entrypoints.openai.api_server \ --model /path/to/glm-4v-9b \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.9 \ --served-model-name glm-4v-9b \ --host 0.0.0.0 \ --port 8000参数说明--model模型路径--tensor-parallel-size张量并行大小单卡设为1--gpu-memory-utilizationGPU内存使用率建议0.8-0.9--served-model-name服务名称--host和--port服务监听地址和端口3.4 测试vLLM服务器服务器启动后可以使用curl测试服务是否正常curl http://localhost:8000/v1/models如果一切正常你应该能看到类似这样的响应{ object: list, data: [ { id: glm-4v-9b, object: model, created: 1677610602, owned_by: vllm, root: glm-4v-9b, parent: null, permission: [] } ] }4. OpenWebUI安装与配置4.1 安装OpenWebUIOpenWebUI是一个功能强大的Web界面可以让你通过浏览器与AI模型交互# 克隆OpenWebUI仓库 git clone https://github.com/open-webui/open-webui.git cd open-webui # 安装依赖 pip install -r requirements.txt4.2 配置OpenWebUI创建配置文件config.json{ webui: { host: 0.0.0.0, port: 7860, base_url: null }, model: { name: glm-4v-9b, api_base: http://localhost:8000/v1, api_key: none }, auth: { enabled: true, users: [ { email: kakajiangkakajiang.com, password: kakajiang, role: admin } ] } }4.3 启动OpenWebUI使用以下命令启动OpenWebUI# 启动OpenWebUI python main.pyOpenWebUI将在7860端口启动你可以通过浏览器访问http://你的服务器IP:7860来使用Web界面。5. 反向代理配置可选但推荐5.1 为什么需要反向代理反向代理可以提供以下好处更安全的访问方式HTTPS支持域名访问而不是IP端口负载均衡和故障转移更好的性能缓存、压缩等5.2 使用Nginx配置反向代理首先安装Nginxsudo apt install -y nginx创建Nginx配置文件/etc/nginx/sites-available/glm-4vserver { listen 80; server_name your-domain.com; # 替换为你的域名或IP location / { proxy_pass http://localhost:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # WebSocket支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } }启用配置并重启Nginxsudo ln -s /etc/nginx/sites-available/glm-4v /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置 sudo systemctl restart nginx5.3 配置SSL证书可选为了更安全的访问建议配置HTTPS# 安装Certbot sudo apt install -y certbot python3-certbot-nginx # 获取SSL证书 sudo certbot --nginx -d your-domain.com # 替换为你的域名6. 完整部署脚本为了简化部署过程你可以创建一个一键部署脚本deploy.sh#!/bin/bash echo 开始部署GLM-4v-9b... # 检查NVIDIA驱动 if ! command -v nvidia-smi /dev/null; then echo 错误未找到NVIDIA驱动请先安装驱动 exit 1 fi # 创建目录 mkdir -p glm-4v-deployment cd glm-4v-deployment # 创建虚拟环境 echo 创建Python虚拟环境... python3 -m venv glm-env source glm-env/bin/activate # 安装依赖 echo 安装依赖... pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install vllm transformers accelerate # 下载模型这里需要你有权访问模型 echo 请手动下载GLM-4v-9b模型到当前目录的glm-4v-9b文件夹 # 启动vLLM服务器 echo 启动vLLM服务器... python -m vllm.entrypoints.openai.api_server \ --model ./glm-4v-9b \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.9 \ --served-model-name glm-4v-9b \ --host 0.0.0.0 \ --port 8000 echo vLLM服务器已启动在端口8000 # 安装OpenWebUI echo 安装OpenWebUI... git clone https://github.com/open-webui/open-webui.git cd open-webui pip install -r requirements.txt # 创建配置文件 cat config.json EOL { webui: { host: 0.0.0.0, port: 7860, base_url: null }, model: { name: glm-4v-9b, api_base: http://localhost:8000/v1, api_key: none }, auth: { enabled: true, users: [ { email: kakajiangkakajiang.com, password: kakajiang, role: admin } ] } } EOL echo 启动OpenWebUI... python main.py echo 部署完成 echo OpenWebUI访问地址: http://你的服务器IP:7860 echo 登录账号: kakajiangkakajiang.com echo 登录密码: kakajiang给脚本添加执行权限并运行chmod x deploy.sh ./deploy.sh7. 常见问题与解决方案7.1 显存不足问题如果遇到显存不足的错误可以尝试以下解决方案使用量化版本寻找INT4量化版本的模型显存需求减半调整GPU内存使用率降低--gpu-memory-utilization参数值使用梯度检查点减少内存使用但会增加计算时间7.2 模型加载失败如果模型加载失败检查以下几点模型路径确保路径正确且有权访问模型格式确认模型是vLLM兼容的格式文件完整性验证模型文件是否完整下载7.3 性能优化建议使用TensorRT如果追求极致性能可以考虑使用TensorRT部署批处理适当增加批处理大小可以提高吞吐量内核优化使用最新版本的vLLM通常包含性能优化8. 总结通过本教程你已经成功部署了GLM-4v-9b多模态模型并配置了vLLM推理服务器和OpenWebUI界面。这个部署方案具有以下优势高效推理vLLM提供了优化的推理性能友好界面OpenWebUI让非技术用户也能轻松使用模型灵活扩展支持通过API集成到其他应用中安全访问通过反向代理提供更安全的访问方式现在你可以通过浏览器访问OpenWebUI界面上传图片并与GLM-4v-9b进行多模态对话了。这个强大的模型可以帮助你完成图像描述、视觉问答、图表理解等多种任务。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。