介绍 vLLM Playground:用于管理和交互 vLLM 服务器的现代 Web 界面

6 分钟阅读
micytao

作为 vLLM 社区的一员,我热切地希望 vLLM 能够蓬勃发展并惠及更多开发者。今天,我很高兴地宣布推出 vLLM Playground——一个功能丰富、现代化的 Web 界面,用于管理和交互 vLLM 服务器。无论您是在 macOS 上进行本地开发、在配备 GPU 的 Linux 上进行测试,还是在企业级 Kubernetes/OpenShift 集群中进行部署,vLLM Playground 都能为您提供统一且直观的 vLLM 使用体验。

为何选择 vLLM Playground?

搭建和管理 vLLM 服务器通常需要命令行专业知识、容器编排知识以及对各种配置选项的熟悉。vLLM Playground 通过以下方式消除了这些障碍:

  • 零配置要求:无需手动安装 vLLM,容器自动处理一切
  • 一键式操作:通过直观的 UI 启动/停止服务器、切换模型并调整配置
  • 跨平台支持:适用于 macOS (Apple Silicon)、Linux (CPU/GPU) 以及企业级 Kubernetes 环境
  • 全平台统一 UI:从本地开发到云端部署,体验始终如一

愿景与路线图

vLLM Playground 的目标很简单:紧跟官方 vLLM 项目步伐,确保每一个新功能都易于上手和体验

vLLM 正在迅速演进,拥有强大的功能,如结构化输出、工具调用、投机解码、多模态支持等。然而,探索这些功能通常需要查阅文档、编写脚本和管理繁琐的配置。vLLM Playground 通过提供一个可视化的交互界面填补了这一空白,让您可以随时体验 vLLM 的最新特性。

路线图规划

  • 🔗 MCP 服务器集成:模型上下文协议 (MCP),用于增强工具能力
  • ➕ RAG 支持:检索增强生成,提供基于知识库的响应
  • 🎯 功能同步:随着 vLLM 新功能的推出,持续增加 UI 支持

快速入门

上手操作非常简单:

# Install from PyPI
pip install vllm-playground
 
# Pre-download container image (optional, ~10GB for GPU)
vllm-playground pull
 
# Start the playground
vllm-playground

访问 https://:7860,点击“启动服务器”,即可运行 vLLM!容器编排器会自动拉取适合您平台的镜像并管理 vLLM 生命周期。

关键功能

🎨 现代深色主题 UI

新界面采用简洁专业的视觉设计:

  • 流畅的聊天界面:整洁、无干扰的聊天 UI,带有内嵌的可展开面板
  • 图标工具栏:可快速访问设置、系统提示词、结构化输出和工具调用等高级功能
  • 实时指标:每次响应都会显示 Token 计数和生成速度
  • 可调整大小面板:自定义布局以实现最佳工作流

🏗️ 结构化输出

通过四种强大的模式将模型响应限制为特定格式:

模式描述使用示例
选择 (Choice)强制输出特定值情感分析(积极/消极/中立)
正则表达式 (Regex)使输出匹配正则表达式模式电子邮件、电话、日期格式验证
JSON Schema生成符合您 Schema 的有效 JSONAPI 响应、结构化数据提取
语法 (EBNF)定义复杂的输出结构自定义 DSL、形式语言

🔧 工具调用 / 函数调用

使模型能够使用您定义的自定义工具和函数

  • 服务端配置:启动前在服务器配置面板中启用
  • 自动解析器检测:自动为 Llama 3.x、Mistral、Hermes、Qwen、Granite 和 InternLM 选择解析器
  • 预设工具:包含天气、计算器和搜索工具
  • 自定义工具创建:通过名称、描述和 JSON Schema 参数定义工具
  • 并行工具调用:支持同时触发多个工具调用

🐳 容器编排

vLLM Playground 在隔离容器中管理 vLLM,提供:

  • 自动生命周期管理:启动、停止、健康检查和日志流式传输
  • 智能容器重用:当配置未更改时实现快速重启
  • 跨平台镜像:
    • GPU: vllm/vllm-openai:v0.11.0 (官方)
    • CPU x86: quay.io/rh_ee_micyang/vllm-cpu:v0.11.0
    • macOS ARM64: quay.io/rh_ee_micyang/vllm-mac:v0.11.0

📊 GuideLLM 基准测试集成

GuideLLM 提供支持的全面性能测试

  • 请求统计(成功率、持续时间、平均耗时)
  • Token 吞吐量分析(每秒 Token 数的平均值/中位数)
  • 延迟百分位(P50, P75, P90, P95, P99)
  • 可配置的负载模式和请求速率
  • 支持导出 JSON 以进行详细分析

📚 vLLM 社区配方

从官方 vLLM Recipes 仓库一键加载模型配置

  • 17+ 模型类别:DeepSeek, Qwen, Llama, Mistral, InternVL, GLM, NVIDIA Nemotron 等
  • 可搜索目录:按模型名称、类别或标签进行过滤
  • 一键加载:自动填充优化后的 vLLM 设置
  • 硬件指南:查看每个模型推荐的 GPU 配置

☸️ OpenShift/Kubernetes 部署

支持企业级云部署:

  • 通过 Kubernetes API 动态创建 vLLM Pod
  • 支持 GPU 和 CPU 模式,并能自动检测
  • 基于 RBAC 的安全模型
  • 自动化部署脚本
  • 与本地设置相同的 UI 和工作流
cd openshift/
./deploy.sh --gpu    # For GPU clusters
./deploy.sh --cpu    # For CPU-only clusters

架构概述

vLLM Playground 使用混合架构,可在本地和云环境中无缝运行。

┌─────────────────────────────────────────────────────────────┐
│                     Web UI (FastAPI)                        │
│              app.py + index.html + static/                  │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ├─→ container_manager.py (Local)
                         │   └─→ Podman CLI
                         │       └─→ vLLM Container
                         │
                         └─→ kubernetes_container_manager.py (Cloud)
                             └─→ Kubernetes API
                                 └─→ vLLM Pods

容器管理器在构建时自动切换(Podman → Kubernetes),确保本地与云端拥有完全一致的用户体验。

macOS Apple Silicon 支持

全面支持 macOS (ARM64)

  • 专为 Apple Silicon 构建的 CPU 优化容器镜像
  • 自动平台检测
  • 通过 Podman 实现无根 (Rootless) 容器执行
  • 预配置 CPU 设置以实现最佳性能
# Just start the Web UI - it handles containers automatically
python run.py
# Or use the CLI
vllm-playground

CLI 命令

vllm-playground                    # Start with defaults
vllm-playground --port 8080        # Custom port
vllm-playground pull               # Pre-download GPU image (~10GB)
vllm-playground pull --cpu         # Pre-download CPU image
vllm-playground pull --all         # Pre-download all images
vllm-playground stop               # Stop running instance
vllm-playground status             # Check if running

参与其中

vLLM Playground 是开源项目(Apache-2.0 许可证),欢迎贡献!

立即尝试

pip install vllm-playground
vllm-playground

希望 vLLM Playground 能让您的 vLLM 开发和部署体验更顺畅、更愉快。Happy Serving! 🚀