Skip to content
栾鹏 edited this page Jun 26, 2024 · 12 revisions

镜像封装相关

在images文件夹中

  • 所有的GPU镜像构建方法
  • 商业版和开源版的VSCode,jupyter,rstudio等
  • 推理服务(如ONNX、TF serving、Triton等)的镜像构建等。
  • nni的超参搜索基础镜像
  • 多CUDA版本

Job template相关代码

Job template文件夹包含了已有的模板。

这里有各种数据处理、数据集导入、决策树、特征工程、GPT、Hadoop生态、Horovod、Ray超参数搜索、K-means、KNN、LightGBM、LR、模型转换、模型下载、模型评估、模型离线推理、模型注册、MPI、MXNet、中文实体、NNI、目标检测、飞桨、PyTorch分布式、随机森林、Ray分布式数据处理、Ray sklearn、Spark serverless、TF分布式评估训练、Keras、TF模型评估、TF模型离线推理、音视频分布式处理、Volcano、XGB等内容。

每个模板中都包含

  • 一个用于构建镜像的build文件、
  • 一个执行构建和推送命令的文件、
  • 一个Dockerfile以及一个启动脚本。
  • 还有一个Readme文件

Cube studio平台本身代码

开发框架

平台控制端为fab框架

菜单控制

myapp/views/home.py 中 menu函数

使用场景:部分主菜单/子菜单绑定到自有平台,或者添加新的平台视图

登录方式/消息推送

myapp/project.py中包含登录的方式、推送消息的方式

使用场景:

1、登录方式支持账户密码,OpenID认证,LDAP认证,AUTH_REMOTE_USER自己编排里面的login函数,支持对接内部oa系统

2、推送方式,自行对接企业微信,邮箱等报警方式,实现push和push_admin两个函数

定时/异步任务的开发

启动配置:config.py中CeleryConfig

定时任务代码开发:myapp/tasks/schedules.py

使用场景: 1、定时任务,比如定时删除旧的workflow,tfjob,pytorchjob,测试的任务,服务,notebook等。 定时提交定时任务的配置,监控gpu资源,以及在多项目组间进行资源调配

异步任务代码开发:myapp/tasks/async_task.py

使用场景: 1、异步任务,需要花费比较长时间完成的功能,比如灰度升级服务,构建镜像等

监听crd变化

代码开发:myapp/tools/watch_xx.py

使用场景:监听训练和推理workflow的状态变化,推送消息

数据库的更新迭代

myapp/migrations/versions

注意事项:

1、先使用myapp db upgrade命令,将数据库依据versions目录下的接口更新到最新,

2、然后myapp db migrate 将代码中的最新接口更新到versions目录下,

3、然后再调用myapp db upgrade命令更新到最新版数据库

数据库结构和视图

myapp/models 数据库结构

myapp/views api请求接口和web界面,对应的model均在代码中有引入

注意事项:

  • init.py 引入需要添加的视图

  • log 所有视图的日志访问记录,

  • base.py fab基础框架功能

  • baseApi.py fab基础框架功能

  • route.py falsk自带路由功能

  • home.py 菜单管理和弹窗提醒

  • view_team.py项目组管理

  • view_metadata.py 离线库表管理

  • view_metadata_metric.py 指标服务

  • view_dimension.py 维表管理

  • view_dataset.py 数据集管理

  • view_images.py 镜像管理,仓库管理

  • view_docker.py 在线构建镜像的功能

  • view_notebook.py 在线开发

  • view_etl_pipeline.py 数据ETL pipeline

  • view_job_template.py 任务模板的功能

  • view_pipeline.py 训练pipeline管理

  • view_task.py 训练任务管理

  • view_runhistory.py 定时调度管理

  • view_workflow.py 任务流实例管理

  • view_nni.py 超参搜索nni的功能

  • view_train_model.py 模型管理的功能

  • view_serving.py 内部服务

  • view_inferenceserving.py 推理服务

  • view_total_resource.py 整体资源

  • view_chat.py 私有知识库

  • view_chat_dingtalk.py 钉钉群机器人

  • view_chat_wechat.py 微信公众号智能问询

  • view_chat_wework.py 企业微信机器人

前端代码

源码位置:

cube-studio 总体前端: myapp/frontend

cube-studio 后端生成的html模板: myapp/templates

训练 pipeline前端: myapp/vision

数据ETL pipeline前端: myapp/visionPlus

chatgpt聊天前端: myapp/chatgpt-web

编译后地址

cube-studio 总体前端: myapp/static/appbuilder/frontend

训练 pipeline 前端: myapp/static/appbuilder/vison

数据ETL pipeline 前端: myapp/static/appbuilder/visionPlus

chatgpt聊天前端: myapp/static/appbuilder/frontend/distChat,注意是总体前端的一个子目录,总体前端编译会覆盖掉这个目录,要提前备份下

其他部分前端静态资源

myapp/static/appbuilder

前端静态文件所属容器

前端镜像nginx代理,代理 myapp/static/appbuilder/frontend 下的静态文件

后端python进程,代理 其他地方的静态文件

权限管理的基础逻辑

myapp/security.py

开源体验地址:

http://39.96.177.55:8888/

学习、部署、体验、咨询

Clone this wiki locally