WebUI 工作台是 LLM 智能路由的可視化管理介面,提供多使用者角色管理與獨立 API Key 分配、即時監控及配置熱更新能力,實現使用者身份隔離與訪問審計,降低服務營運複雜度。
功能概述
工作台支援按需開啟使用者管理功能,不開啟時提供以下功能模組:
-
即時監控:展示輸送量、延遲、TTFT 等近即時效能指標及狀態代碼分布,以及 Gateway、Scheduler 和推理執行個體的運行狀態,協助快速發現異常、定位效能瓶頸。
-
配置中心:支援分流代理、調度策略、請求限流、流量鏡像等核心參數的熱更新,無需重啟服務即可生效,適合生產環境的動態調優。詳情請參見配置中心。
-
智能對話:提供可視化的對話測試介面,支援直接向智能路由服務發送文本或圖片請求,並通過 HTTP 日誌輔助調試,便於快速驗證分流代理效果。
開啟後可建立完整的使用者管理體系,適用於企業內多團隊共用 LLM 服務的情境,額外提供以下功能模組:
-
資料概覽:展示各使用者/部門的 Token 消耗和請求量分布,支援按時間範圍和使用者維度過濾,便於管理員識別高用量使用者。
-
使用者管理:使用者的增刪改查、啟用/禁用、API Key 管理等。也可以通過API進行使用者管理操作,詳情請參見使用者管理 API 參考。
-
審計日誌:記錄登入/登出、使用者增刪改、API Key 重設、配置變更等操作的時間、操作人和資來源物件,支援按時間、操作類型和操作人過濾,便於合規審計與問題追溯。
-
使用者中心:供使用者自助管理設定檔、查看和重設自己的 API Key,並查看個人維度請求統計與 Token 消耗記錄。
不同角色在工作台中可訪問的功能模組不同:
|
角色 |
許可權 |
|
普通使用者 |
智能對話、使用者中心(查看個人統計資料) |
|
管理員 |
普通使用者的全部許可權 + 資料概覽(查看所有使用者統計)、即時監控、配置中心(唯讀) |
|
系統管理員 |
管理員的全部許可權 + 使用者管理、審計日誌、配置中心(讀寫) |
訪問工作台
前提條件:已部署 LLM 智能路由服務,或已部署套件含 LLM 智能路由服務的彙總服務。
操作步驟:
-
登入PAI控制台,進入EAS的推理服務頁簽。
-
找到目標 LLM 智能路由服務。
-
在該服務的調用 / 日誌 / 監控列,單擊 Web 應用程式表徵圖。
-
在彈出的視窗中找到WebUI工作台,進入管理員工作台。
管理員在工作台的使用者管理頁面建立使用者後,該使用者可通過使用者登入入口使用API Key登入WebUI工作台。
配置中心
配置中心支援 LLM 智能路由核心配置的熱更新,無需重啟服務即可生效。各配置的作用環節如下。
|
配置類型 |
說明 |
|
調度策略 |
配置請求調度到推理執行個體的策略,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 |
是 |
使用者姓名 |
|
|
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 |
是 |
使用者姓名 |
|
|
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。