vLLM(3)vllm在线启动集成openweb-ui

文章目录

      • **步骤 1: 启动 vLLM 服务**
        • **方式 1: 直接命令行启动**
        • **方式 2: Docker 启动**
      • **步骤 2: 配置 Open WebUI 连接 vLLM**
        • **方法 1: 修改 Open WebUI 环境变量**
        • **方法 2: 通过 `docker-compose.yml` 部署**
      • **步骤 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: 直接命令行启动
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 启动
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 时,添加以下环境变量:

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 部署
version: '3.8'services:vllm:image: vllm/vllm-openai:latestcommand: --model meta-llama/Meta-Llama-3-8B-Instructports:- "8000:8000"deploy:resources:reservations:devices:- driver: nvidiacount: 2  # 使用 2 个 GPUopenwebui:image: ghcr.io/open-webui/open-webui:mainports:- "3000:8080"environment:- OPENAI_API_BASE_URL=http://vllm:9898/v1- OPENAI_API_KEY=hhh6688 - WEBUI_SECRET_KEY=my-secretdepends_on:- vllm

运行:

docker-compose up -d

步骤 3: 在 Open WebUI 中添加模型

  1. 访问 Open WebUI 的 Web 界面:http://localhost:3000
  2. 登录后进入 Settings → Model Provider
  3. 选择 OpenAI 作为提供商。
  4. 填写:
    • Model Name: 任意名称(如 Llama-3-8B-vLLM
    • API Base URL: http://vllm:8000/v1(或你的 vLLM 地址)
    • API Key: EMPTY
  5. 保存后,在聊天界面选择该模型即可使用。

在这里插入图片描述

验证是否成功

  • 检查 vLLM 日志
    docker logs vllm-server
    
    出现类似日志表示请求成功:
    INFO:     127.0.0.1:12345 - "POST /v1/chat/completions HTTP/1.1" 200 OK
    
  • 在 Open WebUI 中发送测试消息,观察响应速度和输出内容。

常见问题解决

  1. 连接失败

    • 确保 OPENAI_API_BASE_URL 正确(一般为 http://<vllm-ip>:8000/v1)。
    • 如果使用 Docker,确保容器在同一网络(或通过 --link 连接)。
  2. GPU 资源不足

    • 减少 --tensor-parallel-size(如从 2 改为 1)。
    • 使用量化模型(如 --quantization awq)。
  3. 模型加载失败

    • 检查模型路径是否正确(HuggingFace 模型需提前下载或确认有访问权限)。
    • 使用离线模型时挂载本地目录:
      docker run -v /path/to/models:/models vllm/vllm-openai:latest --model /models/llama-3-8b
      
  4. Open WebUI 无法识别模型

    • Model Provider 中检查是否选择 OpenAI 类型。
    • 确保 OPENAI_API_KEY 设置为 EMPTY(vLLM 无需密钥)。

性能优化建议

  • 批处理:启动 vLLM 时添加 --max-num-batched-tokens 4096 提高吞吐量。
  • 量化:添加 --quantization awq 减少显存占用(需模型支持)。
  • 多 GPU:增加 --tensor-parallel-size 加速推理。

通过以上步骤,即可将 vLLM 的高性能推理能力无缝集成到 Open WebUI 的交互界面中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91305.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python----大模型(基于Agent的私人AI助理项目)

开发一个智能的问答系统&#xff0c;该系统支持用户聊天&#xff0c;传输文件。通过自然语言处理技术&#xff0c;机器人能够理解用户的意图。机器人将利用互联网搜索引擎来补充信息&#xff0c;确保用户能够获得全面且准确的回答。 一、web ui界面 我们采用gradio来编写的ui界…

Python爬虫实战:研究scrapely库相关技术构建电商数据提取系统

1. 引言 在当今数字化时代,网络上蕴含着海量的有价值信息。如何从这些非结构化的网页中自动提取出结构化的数据,成为了数据挖掘和信息检索领域的重要研究课题。网络爬虫作为一种自动获取网页内容的技术,被广泛应用于信息收集、数据分析等领域。然而,网页结构的多样性和复杂…

Orange的运维学习日记--18.Linux sshd安全实践

Orange的运维学习日记–18.Linux sshd安全实践 文章目录Orange的运维学习日记--18.Linux sshd安全实践场景模拟sshd配置需求&#xff1a;参数表格&#xff1a;MOTD警告定期备份SSH密钥与配置登录防护&#xff1a;fail2ban测试与日志场景模拟 你是某金融科技公司的Linux运维工程…

聚观早报 | 德赛电池自主研发主动安全AI电芯;华为首展线下昇腾384超节点;蔚来纯电小车萤火虫已交付一万辆

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。整理丨肖羽7月28日消息德赛电池自主研发主动安全AI电芯华为首展线下昇腾384超节点蔚来纯电小车萤火虫已交付一万辆京东已成立智能机器…

python可视化:按序号展示社团星级分布 - 热力图样式

目录 关键代码&#xff1a; 运行结果&#xff1a; 关键代码&#xff1a; # 4. 按序号展示社团星级分布 - 热力图样式 plt.subplot(2, 2, 4) # 创建星级映射为数值 star_mapping {五星:4, 四星:3, 三星:2, 星级入围:1} star_values df[答辩结果].map(star_mapping) plt.s…

智能家居平台服务端安装教程——东方仙盟部署

1. 准备工作 登录阿里云服务器&#xff1a;使用 SSH 工具&#xff08;如 ssh 命令&#xff09;登录到你的阿里云 Linux 服务器。确保服务器已安装并能正常运行&#xff0c;且网络连接正常。更新系统软件包&#xff1a;执行以下命令更新系统软件包到最新版本。 bash sudo apt …

360环视技术推荐的硬件平台:支持多摄像头与三屏异显的理想选择

在智能硬件不断升级的今天&#xff0c;360环视技术早已不只是豪华车型的专属。通过布置多路摄像头&#xff0c;并将其图像进行融合处理&#xff0c;360环视可以为系统提供车辆或设备周围的完整视野。 它不仅能够消除盲区&#xff0c;还能通过AI识别实现物体检测、避障判断、自动…

FFmpeg:因码流采集与封装不同步导致录制出来的MP4文件会出现黑屏、绿屏的问题

项目要求实时播放视频&#xff0c;并且需要支持播放中途可以录制视频。但是录制出来的文件会黑屏&#xff0c;过一段时间后正常显示。即&#xff1a;码流采集—>播放—>&#xff08;一段时间后&#xff09;录制MP4&#xff0c;黑屏出现的时间就在采集到录制之前。黑屏现象…

C 语言与 C++、Java、Python 等编程语言的区别

C 语言与 C、Java、Python 等编程语言在设计理念、特性和应用场景上存在显著差异&#xff0c;以下从核心区别、特性对比和适用场景三个维度详细解析&#xff1a;一、C 语言与 C 的核心区别C 是在 C 语言基础上发展而来&#xff08;最初名为 “C with Classes”&#xff09;&…

Apache Ignite 的分布式锁Distributed Locks的介绍

以下这段内容是关于 Apache Ignite 的分布式锁&#xff08;Distributed Locks&#xff09; 的介绍。这是一个非常重要的功能&#xff0c;用于在分布式系统中协调多个节点对共享资源的并发访问。 下面我们来一步步深入理解它。&#x1f3af; 一、一句话理解&#xff1a;什么是 I…

第十二天:C++ 标准库函数分类总结

C 标准库函数分类总结 数学函数&#xff08;<cmath>&#xff09; 基本运算函数 abs(x)&#xff1a;返回整数或浮点数的绝对值。int a abs(-5); // 返回 5fabs(x)&#xff1a;返回浮点数的绝对值。double b fabs(-3.14); // 返回 3.14fmod(x, y)&#xff1a;计算 x 除以…

Unity Standard Shader 解析(四)之ForwardAdd(简化版)

一、ForwardAdd// Additive forward pass (one light per pass)Pass{Name "FORWARD_DELTA"Tags { "LightMode" "ForwardAdd" }Blend [_SrcBlend] OneFog { Color (0,0,0,0) } // in additive pass fog should be blackZWrite OffZTest LEqualC…

第十九周-文档数据库MongoDB、消息队列和微服务

1. 完成redis单机安装&#xff0c;哨兵模式安装&#xff0c;主从安装&#xff0c;集群安装单机安装#安装依赖包 [rootcentos8~]#yum -y install gcc make jemalloc-devel #如果支持systemd需要安装下面包 [rootubuntu2204 ~]#apt update && apt -y install make gcc li…

C++中sizeof运算符全面详解和代码示例

sizeof 是 C 中的一个编译时运算符&#xff0c;用于获取对象或类型所占的字节数&#xff08;以 size_t 返回&#xff09;。它是掌握底层内存模型、结构体对齐、数组大小计算等的重要工具。1. 基本语法 sizeof(type) // 获取类型的大小 sizeof expression // 获取表达式结果…

内容中台:在一个地方管理多渠道内容

在数字化竞争愈演愈烈的今天&#xff0c;企业官网、社交平台、移动应用、邮件营销等渠道已成为品牌触达用户的关键接口。内容仍是连接企业与客户的核心资产。然而&#xff0c;内容创作与分发的复杂性持续攀升&#xff0c;多平台运营面临重复维护、更新不一致、资源冗余等诸多挑…

【刷题】东方博宜oj 1307 - 数的计数

样例输入&#xff1a; 6输出&#xff1a; 16 26 126 36 136原版是直接输出总数量&#xff0c;但我修改了一些&#xff0c;输出所有的新数。 #include <iostream> #include <vector> #include <string> using namespace std; //int c; void g(int num, string…

阿里云AI代码助手通义灵码开发指导

与阿里云一起轻松实现数智化让算力成为公共服务&#xff1a;用大规模的通用计算&#xff0c;帮助客户做从前不能做的事情&#xff0c;做从前做不到的规模。让数据成为生产资料&#xff1a;用数据的实时在线&#xff0c;帮助客户以数据为中心改变生产生活方式创造新的价值。智能…

设计模式(二十三)行为型:模板方法模式详解

设计模式&#xff08;二十三&#xff09;行为型&#xff1a;模板方法模式详解模板方法模式&#xff08;Template Method Pattern&#xff09;是 GoF 23 种设计模式中的行为型模式之一&#xff0c;其核心价值在于定义一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中实…

Postgresql 查询使用正则

今天接到任务&#xff0c;要从数据库中查询数据&#xff0c;对于postgresql 我并不熟悉&#xff0c;问了百度&#xff0c;问了通义千问。发现Postgresql 在写query sql 的时候&#xff0c;可以使用正则匹配&#xff0c;不单是使用like 这种关键字。我像发现了新大陆一样的兴奋。…

【WRF-Chem Emissions教程第八期】转换实用程序

转换实用程序 8.1 将中间二进制文件转换为 WRF-Chem 数据文件 文件命名规范与风格 8.2 Binary data file format(中间二进制排放数据文件的格式和结构) FORTRAN 示例程序说明 8.3 Building the WRF-Chemistry emissions conversion code 编译步骤 验证编译结果 8.4 Namelist …