Repository Reading Site
模型模块 — 功能设计与页面规划
--- 平台运营团队部署和维护的公共模型,所有用户可调用: | 模型 | 参数 | 能力 | 推理引擎 | GPU 需求 | |------|------|------|---------|---------| | Qwen2.5-7B-Instruct | 7B | 中文对话/代码/数学 | vLLM | A10 24G × 1 | | Qwen2.5-1
模型模块 — 功能设计与页面规划
一、模型在平台中的完整生命周期
引入 → 注册 → 配置 → 部署 → 服务 → 监控 → 迭代/下线
│ │ │ │ │ │ │
│ │ │ │ │ │ └── 新版本替换/归档
│ │ │ │ │ └── 质量监控/漂移检测
│ │ │ │ └── 接受请求/返回结果
│ │ │ └── 创建推理实例(K8s Deployment)
│ │ └── 定价/并发/GPU/超参
│ └── 元数据入库(名称/版本/格式/能力)
└── 来源:平台预置 / 用户上传 / 微调产出 / 开源拉取
二、模型来源(四种)
2.1 平台预置模型
平台运营团队部署和维护的公共模型,所有用户可调用:
| 模型 | 参数 | 能力 | 推理引擎 | GPU 需求 |
|---|---|---|---|---|
| Qwen2.5-7B-Instruct | 7B | 中文对话/代码/数学 | vLLM | A10 24G × 1 |
| Qwen2.5-14B-Instruct | 14B | 高质量中文 | vLLM | A100 40G × 1 |
| Qwen2.5-72B-Instruct | 72B | 顶级中文 | vLLM | A100 80G × 4 |
| Llama-3.2-3B-Instruct | 3B | 轻量英文 | vLLM | A10 24G × 1 |
| DeepSeek-V3 | 671B MoE | 顶级推理 | 专用部署 | H100 × 8 |
| BGE-M3 | 568M | Embedding 向量化 | ONNX | CPU 即可 |
| Whisper-large-v3 | 1.5B | 语音转文字 | faster-whisper | A10 24G × 1 |
运营侧工作:
- 定期评估社区新模型是否值得上架
- 基准测试(MMLU/CEval/HumanEval)
- 定价策略制定
- 推理引擎调优(batch size/量化/KV cache)
2.2 用户上传模型
用户自己训练的模型,上传到平台部署:
支持格式:
- SafeTensors(推荐,安全高效)
- GGUF(llama.cpp 格式,量化模型)
- ONNX(通用格式)
- PyTorch (.bin + config.json)
上传方式:
- Web 上传(小模型 < 10GB)
- CLI 上传(大模型,断点续传)
- 从 HuggingFace Hub 直接拉取(填 model_id)
2.3 微调产出模型
平台微调训练完成后自动生成:
基座模型: qwen2.5-7b
+ LoRA 权重: adapter_model.safetensors (50-200MB)
= 合并模型 或 LoRA 挂载推理
元数据自动继承:
- 基座模型的能力标签
- 训练数据集关联
- 训练指标(loss/eval_loss)
- 训练配置快照
2.4 开源模型拉取
从模型仓库直接导入:
来源:
- HuggingFace Hub: huggingface.co/Qwen/Qwen2.5-7B-Instruct
- ModelScope: modelscope.cn/models/qwen/Qwen2.5-7B-Instruct
- 自建模型仓库
流程:
用户输入 model_id → 平台后台拉取 → 存储到 S3/NFS → 注册模型
三、功能清单
3.1 模型注册与管理
| 功能 | 说明 | 优先级 |
|---|---|---|
| 模型列表 | 查看所有可用模型(平台+私有) | P0 |
| 模型详情 | 基本信息/能力/配置/部署状态/用量 | P0 |
| 上传模型 | Web/CLI/HuggingFace 拉取 | P0 |
| 模型版本管理 | 同一模型多版本,支持回溯 | P0 |
| 模型标签 | 能力标签(chat/code/math/embedding/vision) | P1 |
| 模型删除 | 下线并清理存储(保护期内可恢复) | P1 |
| 模型复制 | 基于已有模型快速创建变体 | P2 |
3.2 模型部署与运维
| 功能 | 说明 | 优先级 |
|---|---|---|
| 一键部署 | 选择模型 → 选择 GPU → 部署 | P0 |
| 部署配置 | GPU 型号/数量/量化/并发/副本数 | P0 |
| 自动伸缩 | 基于 QPS/GPU 利用率/排队长度 | P0 |
| 灰度发布 | 新版本先接 10% 流量 → 逐步放量 | P1 |
| A/B 测试 | 两个版本同时运行,对比效果 | P1 |
| 蓝绿部署 | 新版本完全就绪后一次性切换 | P1 |
| 下线/暂停 | 暂停服务(保留实例)/ 彻底下线 | P0 |
| 冷启动策略 | 无请求时缩到0 / 保留最少1个实例 | P1 |
3.3 模型推理配置
| 功能 | 说明 | 优先级 |
|---|---|---|
| 推理引擎选择 | vLLM / TGI / llama.cpp / ONNX Runtime | P0 |
| 量化配置 | FP16 / INT8 / INT4 / GPTQ / AWQ | P0 |
| 上下文长度 | 设置最大 context window | P0 |
| 默认参数 | temperature / top_p / top_k / stop tokens | P1 |
| 系统提示词 | 预设 system prompt(可被用户覆盖) | P1 |
| 输出过滤 | 敏感词过滤/内容安全审核 | P1 |
| 速率限制 | 单模型 QPS 上限 | P0 |
| 超时设置 | 单请求最大生成时间 | P0 |
3.4 模型评估与监控
| 功能 | 说明 | 优先级 |
|---|---|---|
| 基准评测 | 在标准数据集上跑分(MMLU/CEval) | P1 |
| 自定义评测 | 用户上传评测集 → 自动评估 | P1 |
| 人工评测 | 标注员对比两个模型回答质量 | P2 |
| 推理延迟监控 | P50/P95/P99 延迟实时看板 | P0 |
| 吞吐量监控 | Token/s 生成速度 | P0 |
| GPU 利用率 | 显存/算力使用率 | P0 |
| 质量漂移检测 | 用户反馈/输出分布异常告警 | P2 |
| 成本分析 | 每请求/每 Token 的 GPU 成本 | P1 |
3.5 模型市场(高级)
| 功能 | 说明 | 优先级 |
|---|---|---|
| 模型发布 | 用户将私有模型发布为公开/付费 | P2 |
| 模型发现 | 按能力/场景/评分搜索模型 | P2 |
| 模型试用 | Playground 在线体验 | P1 |
| 模型评价 | 用户评分和评论 | P2 |
| 收入分成 | 模型作者获得调用收入分成 | P2 |
四、部署架构详解
4.1 推理实例类型
┌─────────────────────────────────────────────────────────┐
│ 共享推理池 │
│ 适用: 按量付费用户 │
│ 特点: 多租户共享 GPU,请求排队,利用率高 │
│ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Pod 1 │ │ Pod 2 │ │ Pod 3 │ ← HPA 伸缩 │
│ │ qwen-7b │ │ qwen-7b │ │ qwen-7b │ │
│ │ A10 GPU │ │ A10 GPU │ │ A10 GPU │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ 请求路由: 轮询 / 最少连接 / 一致性哈希 │
│ 排队: 忙时排队,超过阈值返回 429 Too Many Requests │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ 独享推理实例 │
│ 适用: 企业客户/SLA 要求高 │
│ 特点: 租户独占 GPU,保证延迟,独立伸缩 │
│ │
│ 租户 A: │
│ ┌───────────┐ ┌───────────┐ │
│ │ Pod 1 │ │ Pod 2 │ ← 独立 HPA │
│ │ qwen-7b │ │ qwen-7b │ SLA: P95 < 500ms │
│ │ A10 GPU │ │ A10 GPU │ 只服务租户 A │
│ └───────────┘ └───────────┘ │
│ │
│ 租户 B: │
│ ┌───────────┐ │
│ │ Pod 1 │ 企业微调模型 │
│ │ company-v1│ 独享 A100 │
│ │ A100 GPU │ │
│ └───────────┘ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ Serverless 推理 │
│ 适用: 低频调用用户 │
│ 特点: 无请求时缩到 0,首次请求冷启动 30-60s │
│ │
│ 请求到达 → 检查实例 → 无实例 → 创建 Pod → 加载模型 │
│ → 有实例 → 直接路由 │
│ 空闲 5min → 缩容到 0 → 释放 GPU │
│ │
│ 计费: 只按实际 GPU 使用时间计费(精确到秒) │
└─────────────────────────────────────────────────────────┘
4.2 量化策略
同一个模型可以提供不同量化版本,价格和质量不同:
┌──────────┬──────────┬──────────┬──────────┐
│ FP16 │ INT8 │ INT4 │ GPTQ-4bit│
│ 原始精度 │ 8位量化 │ 4位量化 │ 压缩量化 │
│ │ │ │ │
│ 显存: 14G│ 显存: 7G │ 显存: 4G │ 显存: 4G │
│ 速度: 1x │ 速度: 1.5x│速度: 2x │ 速度: 2x │
│ 质量: 100│ 质量: 99 │ 质量: 95 │ 质量: 96 │
│ 价格: $$$ │ 价格: $$ │ 价格: $ │ 价格: $ │
└──────────┴──────────┴──────────┴──────────┘
用户选择: 质量优先(FP16) / 性价比(INT8) / 成本优先(INT4)
4.3 多 GPU 分布式推理
大模型单卡装不下时,需要张量并行 (Tensor Parallelism):
70B 模型 + FP16 ≈ 140GB 显存
→ 4 × A100 40G (160GB) 或 2 × A100 80G (160GB)
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ GPU 0 │ │ GPU 1 │ │ GPU 2 │ │ GPU 3 │
│ Layer │ │ Layer │ │ Layer │ │ Layer │
│ 0-19 │ │ 20-39 │ │ 40-59 │ │ 60-79 │
│ 35GB │ │ 35GB │ │ 35GB │ │ 35GB │
└────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │
└───────────┴───────────┴───────────┘
NVLink / PCIe 互联
K8s 调度: 同一 Pod 请求 4 GPU → 调度到有 4 卡的节点
或 使用 MIG (Multi-Instance GPU) 切分
4.4 模型版本与灰度
v1 (当前稳定版) ──── 90% 流量 ────→ 用户请求
↗
v2 (测试版) ──── 10% 流量 ────→
实现方式:
方案 A: Ingress 按权重分流
方案 B: API Gateway 按租户/百分比路由
方案 C: Istio/Envoy 流量管理
灰度升级流程:
v2 部署 → 5% 流量 → 观察指标 → 20% → 50% → 100% → 下线 v1
回滚:
发现 v2 质量下降 → 一键将流量 100% 切回 v1
五、CRD 设计
5.1 InferenceService CRD
apiVersion: ai.platform.io/v1
kind: InferenceService
metadata:
name: qwen25-7b-shared
namespace: inference-shared
spec:
# ── 模型 ──
model:
name: qwen2.5-7b-instruct
source: huggingface # huggingface / s3 / nfs / harbor
path: Qwen/Qwen2.5-7B-Instruct # 根据 source 不同含义不同
format: safetensors # safetensors / gguf / onnx
quantization: none # none / int8 / int4 / gptq
# ── 推理引擎 ──
runtime:
engine: vllm # vllm / tgi / llamacpp / onnxruntime
image: harbor.local/ai/vllm:v0.6.0
args:
- --max-model-len=8192
- --gpu-memory-utilization=0.9
- --enable-chunked-prefill
# ── 资源 ──
resources:
gpu:
type: nvidia-a10 # nvidia-a10 / nvidia-a100-40g / nvidia-a100-80g
count: 1
memory: 32Gi
cpu: "4"
# ── 伸缩 ──
scaling:
minReplicas: 1
maxReplicas: 10
metrics:
- type: concurrency
target: 8 # 每 Pod 8 并发时扩容
- type: gpu-utilization
target: 80 # GPU 利用率 80% 时扩容
scaleToZero: false # 是否缩到0(Serverless)
cooldownSeconds: 300 # 缩容冷却期
# ── 服务 ──
service:
tenantMode: shared # shared / dedicated
dedicatedTo: "" # 独享时填 org_id
maxConcurrency: 100 # 总并发上限
timeout: 120s # 单请求超时
# ── 灰度 ──
traffic:
- version: v1
weight: 90
- version: v2
weight: 10
status:
phase: Serving # Pending/Deploying/Serving/Failed/Scaling
replicas: 3
readyReplicas: 3
endpoint: qwen25-7b-shared.inference.svc:8080
gpu:
allocated: 3 # 已分配 GPU 数
utilization: 65% # 平均利用率
performance:
qps: 45.2
latencyP50: 120ms
latencyP95: 450ms
tokensPerSecond: 1250
conditions:
- type: Ready
status: "True"
5.2 ModelRegistry CRD
apiVersion: ai.platform.io/v1
kind: ModelRegistry
metadata:
name: qwen25-7b-instruct
spec:
displayName: "通义千问 2.5 7B 对话版"
provider: alibaba
license: apache-2.0
capabilities:
- chat
- code
- math
- function-calling
languages:
- zh
- en
versions:
- tag: v1.0
path: s3://models/qwen25-7b-instruct/v1.0/
size: 14.5Gi
format: safetensors
sha256: abc123...
createdAt: "2026-04-01T00:00:00Z"
- tag: v1.1
path: s3://models/qwen25-7b-instruct/v1.1/
size: 14.5Gi
format: safetensors
createdAt: "2026-04-15T00:00:00Z"
requirements:
minGPUMemory: 14Gi # FP16 最低显存
recommendedGPU: nvidia-a10
supportedQuantizations:
- name: fp16
memory: 14Gi
quality: 100
- name: int8
memory: 7Gi
quality: 99
- name: int4-awq
memory: 4Gi
quality: 96
pricing:
inputPerMillionTokens: 2.0 # ¥/百万 Token
outputPerMillionTokens: 6.0
benchmarks:
mmlu: 68.5
ceval: 72.3
humaneval: 45.2
status:
availableVersions: 2
activeDeployments: 2 # 1 shared + 1 dedicated
totalRequests24h: 125000
totalTokens24h: 85000000
六、页面设计
6.1 页面总览
控制台
│
├── 模型广场(发现与选择)
│ ├── 模型广场首页
│ ├── 模型详情页
│ └── 模型 Playground(在线试用)
│
├── 我的模型(管理与部署)
│ ├── 我的模型列表
│ ├── 上传模型
│ ├── 模型版本管理
│ ├── 部署配置
│ └── 部署监控
│
├── 微调训练(产出模型)
│ ├── 创建微调任务
│ ├── 训练监控
│ └── 模型评估对比
│
└── 管理后台(运维侧)
├── 模型上架管理
├── 推理实例管理
├── GPU 资源池
└── 计费配置
6.2 模型广场首页
┌──────────────────────────────────────────────────────────────────┐
│ 模型广场 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 搜索: [搜索模型名称或能力_______________] [搜索] │
│ │
│ 筛选: [对话▼] [中文▼] [全部参数量▼] [全部厂商▼] [排序:热门▼] │
│ │
│ ── 推荐模型 ── │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ 🔥 Qwen2.5-72B │ │ ⭐ DeepSeek-V3 │ │ 💡 Llama-3.2-3B │ │
│ │ 通义千问 顶级版 │ │ 深度求索 推理增强 │ │ Meta 轻量对话 │ │
│ │ 72B │ 中/英 │ 对话 │ │ 671B MoE │ 推理 │ │ 3B │ 英文 │ 轻量 │ │
│ │ │ │ │ │ │ │
│ │ MMLU: 82.3 │ │ MMLU: 87.1 │ │ MMLU: 58.4 │ │
│ │ ¥10/百万Token │ │ ¥10/百万Token │ │ ¥1/百万Token │ │
│ │ │ │ │ │ │ │
│ │ [试用] [查看详情] │ │ [试用] [查看详情] │ │ [试用] [查看详情] │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
│ │
│ ── 按场景推荐 ── │
│ │
│ 💬 智能客服 🔧 代码生成 📝 文本写作 │
│ Qwen2.5-14B Qwen2.5-Coder Qwen2.5-72B │
│ │
│ 🔍 RAG 检索 🌐 多语言翻译 📊 数据分析 │
│ BGE-M3 + Qwen-7B Qwen2.5-14B DeepSeek-V3 │
│ │
│ ── 全部模型 ── 共 15 个│
│ │
│ 名称 参数量 能力 价格 状态 │
│ ──────────────────────────────────────────────────────────────── │
│ Qwen2.5-7B-Instruct 7B 对话/代码 ¥2/百万Token 🟢 可用 │
│ Qwen2.5-14B-Instruct 14B 对话/代码 ¥5/百万Token 🟢 可用 │
│ Qwen2.5-72B-Instruct 72B 全能 ¥10/百万Token 🟢 可用 │
│ Llama-3.2-1B 1B 轻量对话 ¥0.5/百万Token 🟢 可用 │
│ Llama-3.2-3B 3B 通用对话 ¥1/百万Token 🟢 可用 │
│ BGE-M3 568M Embedding ¥0.3/百万Token 🟢 可用 │
│ Whisper-large-v3 1.5B 语音转文字 ¥0.1/秒音频 🟢 可用 │
│ ... │
└──────────────────────────────────────────────────────────────────┘
6.3 模型详情页
┌──────────────────────────────────────────────────────────────────┐
│ ← 模型广场 Qwen2.5-7B-Instruct [试用] [部署]│
├──────────────────────────────────────────────────────────────────┤
│ │
│ 通义千问 2.5 7B 对话版 │
│ 阿里云 │ Apache-2.0 │ 7B 参数 │ 中文/英文 │
│ 能力: [对话] [代码] [数学] [Function Calling] │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 由阿里云开发的大语言模型,在中文理解与生成、代码辅助、 │ │
│ │ 数学推理等方面表现优异。支持 32K 上下文长度。 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ [概览] [API文档] [性能基准] [定价] [版本] │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ── 概览 ── │
│ │
│ 模型信息: │
│ 参数量: 7.62B │
│ 架构: Transformer (Decoder-only) │
│ 上下文窗口: 32,768 tokens │
│ 词汇表大小: 152,064 │
│ 训练数据截止: 2024-09 │
│ │
│ 推理配置: │
│ 推理引擎: vLLM v0.6.0 │
│ 量化版本: FP16 (原始) / INT8 / INT4-AWQ │
│ 推荐 GPU: A10 24G (FP16) / A10 24G (INT8, 可跑两实例) │
│ │
│ 性能基准: │
│ ┌────────────┬────────┬────────────┐ │
│ │ 基准测试 │ 得分 │ 同级排名 │ │
│ ├────────────┼────────┼────────────┤ │
│ │ MMLU │ 68.5 │ 7B 级第 2 │ │
│ │ C-Eval │ 72.3 │ 7B 级第 1 │ │
│ │ HumanEval │ 45.2 │ 7B 级第 3 │ │
│ │ GSM8K │ 78.9 │ 7B 级第 1 │ │
│ └────────────┴────────┴────────────┘ │
│ │
│ 定价: │
│ 输入: ¥2.00 / 百万 Token │
│ 输出: ¥6.00 / 百万 Token │
│ 独享实例: ¥3.50 / 小时 (A10 GPU) │
│ 微调训练: ¥5.00 / 小时 (A10 GPU) │
│ │
│ 版本: │
│ v1.1 (当前) — 2026-04-15 — 修复 Function Calling 兼容性 │
│ v1.0 2026-04-01 — 首次上架 │
└──────────────────────────────────────────────────────────────────┘
6.4 模型 Playground(在线试用)
┌──────────────────────────────────────────────────────────────────┐
│ Playground 模型: [Qwen2.5-7B ▼] 温度: [0.7] Top-P: [0.9] │
├────────────────────────────────┬─────────────────────────────────┤
│ │ 参数设置 │
│ 对话区域 │ │
│ │ System Prompt: │
│ ┌────────────────────────────┐ │ ┌─────────────────────────────┐│
│ │ 🤖 你好!我是通义千问,有什 │ │ │ 你是一个专业的AI助手, ││
│ │ 么可以帮您? │ │ │ 回答简洁准确。 ││
│ └────────────────────────────┘ │ └─────────────────────────────┘│
│ │ │
│ ┌────────────────────────────┐ │ Temperature: [0.7_____] │
│ │ 👤 用 Python 写一个快速排序 │ │ 0=确定性 ←──────→ 2=创造性 │
│ └────────────────────────────┘ │ │
│ │ Max Tokens: [1024____] │
│ ┌────────────────────────────┐ │ │
│ │ 🤖 好的,这是一个 Python │ │ Top-P: [0.9_______] │
│ │ 快速排序的实现: │ │ │
│ │ │ │ Stop Sequences: │
│ │ ```python │ │ [________________] │
│ │ def quicksort(arr): │ │ │
│ │ if len(arr) <= 1: │ │ ── 本次调用信息 ── │
│ │ return arr │ │ Input: 156 tokens │
│ │ pivot = arr[0] │ │ Output: 234 tokens │
│ │ left = [x for x in │ │ 延迟: 1.2s │
│ │ arr[1:] if x <= pivot]│ │ 费用: ¥0.0017 │
│ │ right = [x for x in │ │ │
│ │ arr[1:] if x > pivot] │ │ ── 对比模式 ── │
│ │ return (quicksort(left) │ │ ☐ 同时发给另一个模型: │
│ │ + [pivot] │ │ [Qwen2.5-14B ▼] │
│ │ + quicksort(right)) │ │ │
│ │ ``` │ │ │
│ └────────────────────────────┘ │ │
│ │ │
│ [________________] [发送] │ │
│ ☑ 流式输出 ☐ JSON模式 │ [查看 API 代码 →] │
└────────────────────────────────┴─────────────────────────────────┘
6.5 我的模型 — 部署配置页
┌──────────────────────────────────────────────────────────────────┐
│ 部署模型 customer-service-v2 (微调自 Qwen2.5-7B) │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ── 基本配置 ── │
│ │
│ 实例名称: [cs-bot-prod_______________] │
│ 部署模式: ● 共享推理 (按 Token 计费) │
│ ○ 独享实例 (按时长计费,保证 SLA) │
│ ○ Serverless (按使用时长,可缩到0) │
│ │
│ ── 推理引擎 ── │
│ │
│ 引擎: [vLLM ▼] │
│ 量化: ○ FP16 (14GB 显存, 最佳质量) │
│ ● INT8 (7GB 显存, 质量几乎无损) ← 推荐 │
│ ○ INT4-AWQ (4GB 显存, 轻微质量损失) │
│ │
│ ── GPU 资源 ── │
│ │
│ GPU 型号: [A10 24G ▼] 数量: [1 ▼] │
│ 当前可用: A10 × 5 空闲 / A100-40G × 2 空闲 │
│ │
│ ── 伸缩策略 ── │
│ │
│ 副本数: 最少 [1] — 最多 [5] │
│ 扩容触发: 并发数 > [8___] / GPU利用率 > [80%] │
│ 缩容冷却: [300__] 秒 │
│ │
│ ── 服务配置 ── │
│ │
│ 最大上下文: [8192__] tokens │
│ 请求超时: [120___] 秒 │
│ 最大并发: [50____] 请求 │
│ │
│ ── 费用预估 ── │
│ │
│ 共享模式预估: ~¥2/百万Token (根据实际用量计费) │
│ 独享模式预估: ¥3.50/小时 × 1 GPU × 24h = ¥84/天 │
│ Serverless: ¥3.50/小时 × 实际运行时间 (最低粒度 1 分钟) │
│ │
│ [取消] [部署] [保存为草稿] │
└──────────────────────────────────────────────────────────────────┘
6.6 部署监控页
┌──────────────────────────────────────────────────────────────────┐
│ cs-bot-prod 运行监控 状态: 🟢 Serving 运行 3天12小时│
├──────────────────────────────────────────────────────────────────┤
│ │
│ [实时监控] [历史趋势] [日志] [配置] │
│ │
│ ── 实时指标 ── │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ QPS │ │ 延迟P95 │ │ GPU利用率 │ │ 副本数 │ │
│ │ 45.2 │ │ 320ms │ │ 72% │ │ 3/5 │ │
│ │ ↑12% │ │ ↓5% │ │ ↑8% │ │ 稳定 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ── QPS 趋势 (最近 1 小时) ── │
│ │
│ 60│ ╱╲ ╱╲ │
│ 40│ ╱╲ ╱ ╲ ╱ ╲ ╱╲ │
│ 20│ ╱ ╲╱ ╲╱ ╲╱ ╲ │
│ 0│╱ ╲ │
│ └────────────────────────────── │
│ 14:00 14:15 14:30 14:45 15:00 │
│ │
│ ── 延迟分布 ── │
│ │
│ P50: 120ms ████████████ │
│ P75: 210ms ████████████████████ │
│ P95: 320ms ████████████████████████████████ │
│ P99: 680ms ████████████████████████████████████████████ │
│ │
│ ── Pod 状态 ── │
│ │
│ Pod 节点 GPU 显存 QPS 延迟 │
│ cs-bot-prod-xxxx-a1b2 gpu-node-01 A10#0 12.3/24G 16 105ms│
│ cs-bot-prod-xxxx-c3d4 gpu-node-01 A10#1 12.1/24G 15 118ms│
│ cs-bot-prod-xxxx-e5f6 gpu-node-02 A10#0 12.5/24G 14 132ms│
│ │
│ [扩容] [缩容] [重启] [下线] │
└──────────────────────────────────────────────────────────────────┘
6.7 模型评估对比页
┌──────────────────────────────────────────────────────────────────┐
│ 模型评估对比 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 对比模型: [customer-service-v1 ▼] vs [customer-service-v2 ▼] │
│ 评测集: [cs-eval-500 (500条) ▼] │
│ [开始评估] │
│ │
│ ── 自动评估指标 ── │
│ │
│ 指标 v1 v2 变化 │
│ ────────────────────────────────────────── │
│ BLEU 0.42 0.51 🟢 +21% │
│ ROUGE-L 0.58 0.65 🟢 +12% │
│ 回答相关性 0.78 0.85 🟢 +9% │
│ 平均回答长度(Token) 156 142 🟢 更简洁 │
│ 推理延迟 P95 320ms 315ms ─ 持平 │
│ │
│ ── 逐条对比 (抽样 10 条) ── │
│ │
│ #1 用户: "我的快递显示签收了但我没收到" │
│ ┌─────────────────────────┬─────────────────────────┐ │
│ │ v1 回答 │ v2 回答 │ │
│ │ 很抱歉给您带来不便。请 │ 这种情况可能是快递员代 │ │
│ │ 您联系快递公司核实... │ 签收或放到了驿站。建议 │ │
│ │ │ 您:1. 查看签收照片 │ │
│ │ │ 2. 联系快递员确认... │ │
│ │ 评分: ⭐⭐⭐ │ 评分: ⭐⭐⭐⭐⭐ │ │
│ └─────────────────────────┴─────────────────────────┘ │
│ [ 👈 v1 更好] [差不多] [v2 更好 👉] │
└──────────────────────────────────────────────────────────────────┘
6.8 管理后台 — GPU 资源池
┌──────────────────────────────────────────────────────────────────┐
│ GPU 资源池管理 [+ 添加节点] │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 总览: GPU 总量 24 │ 已用 18 (75%) │ 空闲 6 │ 异常 0 │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ A10 24G ████████████████░░░░░░ 12/16 (75%) │ │
│ │ A100 40G ████████████░░░░░░░░░░ 4/8 (50%) │ │
│ │ H100 80G ████████████████████░░ 2/2 (100%) ⚠ 已满 │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ 节点 GPU 已分配 状态 │
│ ──────────────────────────────────────────────────────────────── │
│ gpu-node-01 A10×4 3/4 (推理:2 训练:1) 🟢 正常 │
│ gpu-node-02 A10×4 3/4 (推理:3) 🟢 正常 │
│ gpu-node-03 A10×4 2/4 (推理:1 训练:1) 🟢 正常 │
│ gpu-node-04 A10×4 4/4 🟡 已满 │
│ gpu-node-05 A100×4 2/4 (推理:2) 🟢 正常 │
│ gpu-node-06 A100×4 2/4 (训练:2) 🟢 正常 │
│ gpu-node-07 H100×2 2/2 (训练:2) 🟡 已满 │
│ │
│ ── 等待队列 ── │
│ 训练任务 × 3 排队中 (预计等待 ~2 小时) │
│ 独享实例 × 1 等待 A100 释放 │
└──────────────────────────────────────────────────────────────────┘
七、页面汇总
| 序号 | 页面 | 路由 | 角色 | 优先级 |
|---|---|---|---|---|
| 1 | 模型广场首页 | /models/explore | 所有 | P0 |
| 2 | 模型详情页 | /models/:id | 所有 | P0 |
| 3 | 模型 Playground | /models/:id/playground | 所有 | P0 |
| 4 | 我的模型列表 | /models/mine | 用户 | P0 |
| 5 | 上传模型 | /models/upload | 用户 | P1 |
| 6 | 模型版本管理 | /models/:id/versions | 用户 | P1 |
| 7 | 部署配置 | /models/:id/deploy | 用户 | P0 |
| 8 | 部署监控 | /deployments/:id | 用户 | P0 |
| 9 | 模型评估对比 | /models/evaluate | 用户 | P1 |
| 10 | API 文档页 | /models/:id/api-docs | 用户 | P0 |
| 11 | 管理-模型上架 | /admin/models | 运维 | P0 |
| 12 | 管理-推理实例 | /admin/deployments | 运维 | P0 |
| 13 | 管理-GPU 资源池 | /admin/gpu-pool | 运维 | P0 |
| 14 | 管理-计费配置 | /admin/pricing | 运维 | P0 |
| 15 | 模型市场-发布 | /marketplace/publish | 用户 | P2 |
| 16 | 模型市场-浏览 | /marketplace | 所有 | P2 |