# 源码走读 ## 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等核心数据结构