文章目录
-
-
- [**步骤 1: 启动 vLLM 服务**](#步骤 1: 启动 vLLM 服务)
-
- [**方式 1: 直接命令行启动**](#方式 1: 直接命令行启动)
- [**方式 2: Docker 启动**](#方式 2: Docker 启动)
- [**步骤 2: 配置 Open WebUI 连接 vLLM**](#步骤 2: 配置 Open WebUI 连接 vLLM)
-
- [**方法 1: 修改 Open WebUI 环境变量**](#方法 1: 修改 Open WebUI 环境变量)
- [**方法 2: 通过 `docker-compose.yml` 部署**](#方法 2: 通过
docker-compose.yml
部署)
- [**步骤 3: 在 Open WebUI 中添加模型**](#步骤 3: 在 Open WebUI 中添加模型)
- **验证是否成功**
- **常见问题解决**
- **性能优化建议**
-
要将 vLLM 集成到 Open WebUI 中,可以通过以下步骤实现。vLLM 提供高性能的 LLM 推理服务,而 Open WebUI 则是一个可扩展的 Web 前端。集成核心是通过 vLLM 的 OpenAI 兼容 API 与 Open WebUI 连接。
在前面两个章节,我们介绍了如何在线启动vllm服务,下面将vllm集成到openweb-ui中
步骤 1: 启动 vLLM 服务
首先启动 vLLM 服务,暴露 OpenAI 兼容的 API 接口(默认端口 9898
)。
方式 1: 直接命令行启动
bash
conda activate vLLM_cuda128_env_python312
cd /home/vLLM/models/Qwen
vllm serve Qwen3-0.6B --served-model-name Qwen3-0.6B --api_key hhh6688 --host 192.168.11.103 --port 9898 --trust_remote_code --tensor_parallel_size 4 --gpu_memory_utilization 0.8
方式 2: Docker 启动
bash
docker run -d \
--gpus all \
-p 8000:8000 \
--name vllm-server \
vllm/vllm-openai:latest \
--model meta-llama/Meta-Llama-3-8B-Instruct
步骤 2: 配置 Open WebUI 连接 vLLM
修改 Open WebUI 的配置,指向 vLLM 的 API 地址。
方法 1: 修改 Open WebUI 环境变量
在启动 Open WebUI 时,添加以下环境变量:
bash
docker run -d \
-p 3000:8080 \
-e OPENAI_API_BASE_URL=http://vllm-server:9898/v1 \
-e OPENAI_API_KEY=hhh6688 \ # vLLM 无需验证
-e WEBUI_SECRET_KEY=my-secret \
--name openwebui \
--link vllm-server \ # 如果 vLLM 和 Open WebUI 在同一台机器
ghcr.io/open-webui/open-webui:main
方法 2: 通过 docker-compose.yml
部署
yaml
version: '3.8'
services:
vllm:
image: vllm/vllm-openai:latest
command: --model meta-llama/Meta-Llama-3-8B-Instruct
ports:
- "8000:8000"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 2 # 使用 2 个 GPU
openwebui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
environment:
- OPENAI_API_BASE_URL=http://vllm:9898/v1
- OPENAI_API_KEY=hhh6688
- WEBUI_SECRET_KEY=my-secret
depends_on:
- vllm
运行:
bash
docker-compose up -d
步骤 3: 在 Open WebUI 中添加模型
- 访问 Open WebUI 的 Web 界面:
http://localhost:3000
- 登录后进入 Settings → Model Provider。
- 选择 OpenAI 作为提供商。
- 填写:
- Model Name : 任意名称(如
Llama-3-8B-vLLM
) - API Base URL :
http://vllm:8000/v1
(或你的 vLLM 地址) - API Key :
EMPTY
- Model Name : 任意名称(如
- 保存后,在聊天界面选择该模型即可使用。

验证是否成功
-
检查 vLLM 日志 :
bashdocker logs vllm-server
出现类似日志表示请求成功:
INFO: 127.0.0.1:12345 - "POST /v1/chat/completions HTTP/1.1" 200 OK
-
在 Open WebUI 中发送测试消息,观察响应速度和输出内容。
常见问题解决
-
连接失败:
- 确保
OPENAI_API_BASE_URL
正确(一般为http://<vllm-ip>:8000/v1
)。 - 如果使用 Docker,确保容器在同一网络(或通过
--link
连接)。
- 确保
-
GPU 资源不足:
- 减少
--tensor-parallel-size
(如从2
改为1
)。 - 使用量化模型(如
--quantization awq
)。
- 减少
-
模型加载失败:
-
检查模型路径是否正确(HuggingFace 模型需提前下载或确认有访问权限)。
-
使用离线模型时挂载本地目录:
bashdocker run -v /path/to/models:/models vllm/vllm-openai:latest --model /models/llama-3-8b
-
-
Open WebUI 无法识别模型:
- 在 Model Provider 中检查是否选择
OpenAI
类型。 - 确保
OPENAI_API_KEY
设置为EMPTY
(vLLM 无需密钥)。
- 在 Model Provider 中检查是否选择
性能优化建议
- 批处理 :启动 vLLM 时添加
--max-num-batched-tokens 4096
提高吞吐量。 - 量化 :添加
--quantization awq
减少显存占用(需模型支持)。 - 多 GPU :增加
--tensor-parallel-size
加速推理。
通过以上步骤,即可将 vLLM 的高性能推理能力无缝集成到 Open WebUI 的交互界面中。