模型与服务特殊接口
涵盖模型定义(/model_define_modelview/api)、训练模型(/training_model_modelview)、推理服务(/inferenceservice_modelview/api)、内部服务(/service_modelview/api)、AIHub 模型市场(/model_market/{category}/api)。
模型定义 /model_define_modelview
代码文件:myapp/views/view_model_define.py(route_base = '/model_define_modelview/api')
获取/保存模型定义配置
GET /model_define_modelview/api/config/<model_define_id> # 获取
POST /model_define_modelview/api/config/<model_define_id> # 保存
请求/响应格式同 ETL Pipeline 的 config 接口。
说明: 仅创建者或管理员可操作。Pipeline run button 显示“启动训练”。
模型定义模板列表
GET /model_define_modelview/api/template/list/
GET /model_define_modelview/api/template/list/<model_define_id>
响应: JSON,包含神经网络层模板(CNN: Conv1d-3d、Pool、Norm、Activation 等),每个层包含 PyTorch 参数定义。
提交模型定义
GET/POST /model_define_modelview/api/submit_model_define/<model_define_id>
响应: 302 重定向到 ETL 任务列表页面
模型定义编排界面
GET /model_define_modelview/api/web/<model_define_id>
响应: 302 重定向到 VisonPlus 编排器(scenes=model_define)
训练模型 /training_model_modelview
代码文件:myapp/views/view_train_model.py(下列 web 接口 route_base = '/training_model_modelview/web/api')
下载模型
GET/POST /training_model_modelview/web/api/download/<model_id>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| model_id | path | int | 模型 ID |
响应: 302 重定向到模型文件下载 URL 或静态路径
说明: 包含 MD5 校验、审批流程处理。
部署模型
GET/POST /training_model_modelview/web/api/deploy/<model_id>
响应: 302 重定向到推理服务列表
说明: 根据模型记录创建/更新 InferenceService,处理版本转换。
获取模型指标
GET/POST /training_model_modelview/web/api/metric/<model_id>
响应: JSON,包含可视化配置(支持 iframe / image / 原始指标数据,分 tab 展示)。
推理服务 /inferenceservice_modelview
代码文件:myapp/views/view_inferenceserving.py(route_base = '/inferenceservice_modelview/api')
清理推理服务
GET/POST /inferenceservice_modelview/api/clear/<service_id>
响应: 302 重定向到服务列表
说明: 删除 K8s Deployment/StatefulSet/Service/Ingress/HPA/ConfigMap,更新状态。
部署推理服务(debug/test/prod)
GET/POST /inferenceservice_modelview/api/deploy/debug/<service_id>
GET/POST /inferenceservice_modelview/api/deploy/test/<service_id>
GET/POST /inferenceservice_modelview/api/deploy/prod/<service_id>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| service_id | path | int | 推理服务 ID |
响应: JSON,包含部署信息
说明:
- debug:replicas=1,command='sleep 43200'(12小时调试)
- test:名称前缀
test- - prod:正式生产部署
- 创建 K8s Deployment、ConfigMap、HPA、Istio 路由规则
推理服务升级
GET/POST /inferenceservice_modelview/api/deploy/update/
请求参数(Query/Body):
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| service_id | int | 与下方二选一 | 推理服务 ID |
| service_name | string | 与上方二选一 | 推理服务名称 |
| model_name + model_version | string | 替代方案 | 模型名 + 版本定位服务 |
响应:
{"service": "service_name", "deploy": "deployment_name", "status": "running", "message": "success"}
说明: 更新 min_replicas 后重新部署,校验配额限制。
推理服务测试
GET/POST /inferenceservice_modelview/api/test/<service_id>
响应: JSON,包含测试弹窗数据
内部服务 /service_modelview
代码文件:myapp/views/view_serving.py(route_base = '/service_modelview/api')
清理内部服务
GET/POST /service_modelview/api/clear/<service_id>
响应: 302 重定向到服务列表
说明: 删除 K8s 资源,标记状态 offline。
部署内部服务
GET/POST /service_modelview/api/deploy/<service_id>
响应: 302 重定向到服务列表
说明: 包含审批流程和配额校验,创建 K8s Deployment/Service/Ingress。
AIHub模型市场 /model_market
代码文件:myapp/views/view_aihub.py
路由前缀:/model_market/{category}/api(category: visual / voice / language / multimodal / aigc / all)
AIHub 一键开发
GET/POST /model_market/{category}/api/notebook/<aihub_id>
| 参数 | 位置 | 类型 | 说明 |
|---|---|---|---|
| aihub_id | path | int | AIHub 应用 ID |
响应: 302 重定向到 Notebook 列表
说明: 使用 AIHub 配置的镜像、挂载目录、环境变量创建 Notebook。
AIHub 一键微调
GET/POST /model_market/{category}/api/train/<aihub_id>
响应: 302 重定向到 Pipeline 编排界面
说明: 自动创建 job_template 和多任务 Pipeline(数据集 → 训练 → 模型注册 → 部署)。
AIHub 应用卸载
GET /model_market/{category}/api/service/delete/<aihub_id>
响应: 302 重定向到 K8s Pod 搜索页面
说明: 删除 K8s Service/Deployment/VirtualService,状态设为 offline。
AIHub 应用部署
GET /model_market/{category}/api/service/<aihub_id>
响应: 302 重定向到 K8s Pod 搜索页面
说明: 部署 K8s Service/Deployment/VirtualService。
打开 AIHub 应用体验界面
GET /model_market/{category}/api/web/<aihub_id>
响应: 302 重定向到 Gradio 界面 /gradio/aihub/{name}/ 或文档页面