使用LLM智能路由工作台

更新时间:
复制为 MD 格式

针对 LLM 智能路由服务多用户访问管理复杂、服务状态难以及时感知及配置变更成本高等运维挑战,WebUI 工作台以可视化界面提供多用户角色管理与独立 API Key 分配、实时监控及配置热更新能力,在实现用户身份隔离与访问审计的同时,大幅降低服务运维复杂度。

功能概述

工作台支持按需开启用户管理功能,不开启时提供以下功能模块:

  • 实时监控:展示吞吐量、延迟、TTFT 等近实时性能指标及状态码分布,以及 Gateway、Scheduler 和推理实例的运行状态,帮助快速发现异常、定位性能瓶颈。

  • 配置中心:支持分流代理、调度策略、请求限流、流量镜像等核心参数的热更新,无需重启服务即可生效,适合生产环境的动态调优。详情请参见配置中心

  • 智能对话:提供可视化的对话测试界面,支持直接向智能路由服务发送文本或图片请求,并通过 HTTP 日志辅助调试,便于快速验证分流代理效果。

开启后可建立完整的用户管理体系,适用于企业内多团队共用 LLM 服务的场景,额外提供以下功能模块:

  • 数据概览:从全局视角展示各用户/部门的 Token 消耗、请求量分布等使用情况,支持按时间范围和用户维度过滤,帮助管理员掌握服务使用全貌、识别高用量用户。

  • 用户管理:用户的增删改查、启用/禁用、API Key 管理等。也可以通过API进行用户管理操作,详情请参见用户管理 API 参考

  • 审计日志:记录登录/登出、用户增删改、API Key 重置、配置中心变更等管理操作的时间、操作人、资源对象等,支持按时间范围、操作类型和操作人过滤,便于合规审计与问题追溯。

  • 用户中心:供用户自助管理个人资料、查看和重置自己的 API Key,并查看个人维度的请求统计与 Token 消耗记录。

不同角色在工作台中可访问的功能模块不同:

角色

权限

普通用户

智能对话、用户中心(查看个人统计数据)

管理员

普通用户的全部权限 + 数据概览(查看所有用户统计)、实时监控、配置中心(只读)

系统管理员

管理员的全部权限 + 用户管理、审计日志、配置中心(读写)

访问工作台

前提条件:已部署 LLM 智能路由服务,或已部署包含 LLM 智能路由服务的聚合服务。

操作步骤

  1. 登录PAI控制台,进入EAS的推理服务页签。

  2. 找到目标 LLM 智能路由服务。

  3. 在该服务的调用 / 日志 / 监控列,单击 Web 应用图标。

  4. 在弹出的窗口中找到WebUI工作台,进入管理员工作台。

    管理员在工作台的用户管理页面创建用户后,该用户可通过用户登录入口使用API Key登录WebUI工作台。

配置中心

配置中心提供 LLM 智能路由各项核心配置的热更新能力,无需重启服务即可生效。如下是主要配置的生效作用环节。

image

配置类型

说明

调度策略

配置请求调度到推理实例的策略,PD 分离模式下可分别配置 Prefill 和 Decode 阶段的策略。

模型路由

根据请求中的 model 字段路由到对应的实例;若该 model 无匹配,则使用配置的默认模型处理该请求。

分流代理

将请求按模型前缀或权重代理转发到配置的外部上游 API 服务。

请求限流

对后端请求并发量进行限制。超限时可选择直接拒绝或排队等待,支持按整体生命周期、Prefill 阶段、Decode 阶段分别设置并发上限。

分流代理中的外部服务(如阿里云百炼)遵循其自身限流规则,不受此配置影响。

流量镜像

将线上请求按比例复制到目标地址,用于灰度验证、性能对比或数据采集,不影响正常响应。

全球调度

当前地域工作站推理资源紧缺时,可将业务流量调度至其他空闲地域的推理服务实例,实现全球算力统筹调配与资源高效复用。

用户管理 API 参考

认证方式:所有 API 需要在请求头中携带系统管理员 API Key:Authorization: Bearer <admin_api_key>

调用时,将下文中的 https://gateway.example.com 替换为 LLM 智能路由地址,如http://xxx.cn-shanghai.pai-eas.aliyuncs.com/api/predict/ai_assistant.ai_gw

1. 用户查询

检查用户是否已存在(根据工号查询)。

请求GET /api/users/check?employee_id={employee_id}

参数

参数

类型

必填

说明

employee_id

string

员工工号

示例

curl -X GET "https://gateway.example.com/api/users/check?employee_id=12345" \
-H "Authorization: Bearer <admin_api_key>"

2. 用户注册

创建新用户并获取 API Key。

请求POST /api/users

参数

参数

类型

必填

说明

name

string

用户姓名

email

string

邮箱地址

employee_id

string

员工工号

department

string

部门

role

string

角色,默认 user,可选 admin

metadata

object

扩展信息

示例

curl -X POST "https://gateway.example.com/api/users" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"name":"张三","email":"zhang***@company.com","employee_id":"12345","department":"技术部"}'

3. 查询用户

查询所有用户或单个用户信息。

请求

  • GET /api/users(查询所有用户)

  • GET /api/users/{user_id}(查询单个用户)

示例

# 查询所有用户
curl -X GET "https://gateway.example.com/api/users" \
-H "Authorization: Bearer <admin_api_key>"

# 查询单个用户
curl -X GET "https://gateway.example.com/api/users/user_xxx" \
-H "Authorization: Bearer <admin_api_key>"

4. 重置 API Key

重置用户的 API Key,返回新的 Key。

请求POST /api/users/{user_id}/regenerate-key

示例

curl -X POST "https://gateway.example.com/api/users/user_xxx/regenerate-key" \
-H "Authorization: Bearer <admin_api_key>"

5. 更新用户

更新用户信息。

请求PUT /api/users/{user_id}

参数

参数

类型

必填

说明

name

string

用户姓名

email

string

邮箱地址

employee_id

string

员工工号

department

string

部门

role

string

角色,默认 user,可选 admin

enabled

boolean

是否启用

metadata

object

扩展信息

示例

curl -X PUT "https://gateway.example.com/api/users/user_xxx" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"department":"新产品部","email":"zhang***@newcompany.com"}'

6. 删除用户

删除指定用户。

请求DELETE /api/users/{user_id}

示例

curl -X DELETE "https://gateway.example.com/api/users/user_xxx" \
-H "Authorization: Bearer <admin_api_key>"

7. 用户配置(Provision)

Provision API 用于创建新用户或重置 API Key,并生成一个一次性的配置链接。用户通过该链接可获取 API Key。相比直接创建用户(POST /api/users),Provision 方式更安全:

  • 用户通过专属链接获取 API Key,无需明文传输

  • 链接 24 小时后自动过期

  • 链接只能使用一次,使用后失效

7.1 创建用户并发送配置链接

请求POST /api/provision

示例

curl -X POST "https://gateway.example.com/api/provision" \
  -H "Authorization: Bearer <admin_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "张三",
    "email": "zhang***@company.com",
    "employee_id": "12345",
    "department": "技术部"
  }'

7.2 重置 API Key 并发送配置链接

当用户已存在但需要重新获取 API Key 时使用。

请求POST /api/provision/reset

示例

curl -X POST "https://gateway.example.com/api/provision/reset" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"employee_id":"12345"}'

7.3 验证配置链接(用户访问)

用户打开 provision_url 后,前端调用此接口验证 token 并获取用户信息和 API Key。

请求GET /api/provision/verify?token={token}

8. 典型使用流程

新用户注册(Provision 方式,推荐)

Provision 方式通过一次性链接传递 API Key,更安全。

# 1. 创建用户并获取配置链接
curl -X POST "https://gateway.example.com/api/provision" \
-H "Authorization: Bearer <admin_api_key>" \
 -H "Content-Type: application/json" \
 -d '{"name":"张三","email":"zhang***@company.com","employee_id":"12345","department":"技术部"}'
# 2. 将返回的 provision_url 发送给用户(邮件、IM 等)

# 3. 用户打开链接,页面自动调用 /api/provision/verify 获取 API Key

新用户注册(直接创建方式)

# 1. 检查用户是否已存在
curl -X GET "https://gateway.example.com/api/users/check?employee_id=12345" \
-H "Authorization: Bearer <admin_api_key>"

# 2. 如果不存在,创建用户
curl -X POST "https://gateway.example.com/api/users" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"name":"张三","employee_id":"12345","department":"技术部"}'

# 3. 将返回的 api_key 发送给用户

离职处理(禁用/删除)

# 禁用用户(推荐)
curl -X PUT "https://gateway.example.com/api/users/user_xxx" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'

# 或删除用户
curl -X DELETE "https://gateway.example.com/api/users/user_xxx" \
-H "Authorization: Bearer <admin_api_key>"

遗忘 API Key(Provision 方式,推荐)

# 通过工号重置并发送配置链接
curl -X POST "https://gateway.example.com/api/provision/reset" \
-H "Authorization: Bearer <admin_api_key>" \
-H "Content-Type: application/json" \
-d '{"employee_id":"12345"}'

# 将返回的 provision_url 发送给用户

遗忘 API Key(直接重置方式)

# 通过工号查询用户
curl -X GET "https://gateway.example.com/api/users/check?employee_id=12345" \
-H "Authorization: Bearer <admin_api_key>"

# 使用返回的 user_id 重置 API Key
curl -X POST "https://gateway.example.com/api/users/user_xxx/regenerate-key" \
-H "Authorization: Bearer <admin_api_key>"

常见问题

Q:为什么 WebUI 中显示的缓存命中率为 0?

该指标依赖推理服务在运行时上报缓存命中数据。请检查目标 EAS 服务的运行命令是否包含 --enable-cache-report 参数;若未添加,即使实际命中缓存,工作台也无法采集到上报数据,命中率会显示为 0。