1.3 KiB
1.3 KiB
源码走读
API Server
API Server是平台服务入口,提供API和web UI功能。
- 入口:src/mvp/py/server.py
- 配置文件:src/mvp/configs/dev.yaml,解析成V2Config数据结构
- 核心模块:
- service:服务层,包括API服务,任务调度,模型调度等后台任务
- core: 核心数据结构,任务ID,submission ID,model serving ID定义
- ray: 对接ray cluster的client
service核心模块
API Server核心模块包括:
- app.py: API 入口层,提供webui,将API请求转化为各类数据库操作,以及协调SFTPGo服务
- scheduler.py:定时任务,调度训练任务队列,提交ray job,更新数据库中任务状态
- serving_reconciler.py: 定时任务,模型推理调度,提交ray serve app,调整副本数,更新数据库中模型实例状态
- db.py: 数据库操作基础工具类
- janitor.py:定时清理训练任务中间过程数据
- sftpgo.py: 对接SFTPGo的客户端,创建用户、重置密码、初始化用户目录等
core核心模块
- ray_job_tool.py:通过builder模板构建ray job命令,提交ray job到ray集群。
- head_publisher.py: Ray head节点自动写head IP 文件到共享存储
- worker_watchdog.py: 自动检查最新head IP文件,加入head的ray集群。
- models: 定义RayConfig/JobSepc/AdvancedTaskSpec等核心数据结构