执行摘要
- 一句话:移除过时的slime router,统一使用sglang_router以简化架构。
- 推荐动作:建议阅读slime/ray/rollout.py中的_start_router函数变更,以理解router启动逻辑的统一化设计;同时关注slime/utils/arguments.py的弃用处理,学习向后兼容的最佳实践。此PR值得精读,因为它揭示了架构演进方向。
功能与动机
从slime/utils/arguments.py的patch中可见,添加了警告:"--use-slime-router is deprecated and ignored. slime now always uses sglang_router built from https://github.com/zhuzilin/sgl-router." 这表明slime router已过时,被sglang_router取代,旨在简化系统架构并统一依赖。
实现拆解
实现方案分为三部分:1) 代码移除:删除slime/router/router.py等核心实现文件;2) 逻辑更新:修改slime/ray/rollout.py中的_start_router函数,移除slime router路径,只启动sglang_router;3) 配置清理:在slime/utils/arguments.py中移除slime router相关参数并添加弃用警告,同时更新文档和脚本以移除--use-slime-router标志。
关键文件:
slime/router/router.py(模块 router): slime router的核心实现文件,在此PR中被完全删除,标志着该组件的移除。
slime/ray/rollout.py(模块 rollout): 修改router启动逻辑,移除slime router路径,统一使用sglang_router,影响rollout系统的路由初始化。
slime/utils/arguments.py(模块 utils): 移除slime router相关参数并添加弃用警告,处理向后兼容性,是关键配置变更点。
关键符号:_start_router
评论区精华
本次PR没有review评论或讨论,基于提供的材料,comments_count和review_comments_count均为0,因此无额外技术交锋或争议点。
风险与影响
- 风险:技术风险包括:1) 向后兼容性:移除了--use-slime-router参数,但代码中已设置警告并自动禁用该标志,降低风险;2) 功能缺失:slime router的特定功能(如PD disaggregation)需确保sglang_router完全支持,从patch看sglang_router已集成相关逻辑;3) 文档更新滞后:删除了slime-router.md文档,但其他文档更新可能不完整,需检查相关引用。风险点具体在slime/utils/arguments.py的参数移除和slime/ray/rollout.py的路由启动逻辑变更。
- 影响:影响范围:1) 用户影响:用户需要更新脚本移除--use-slime-router标志,否则会收到弃用警告,但功能不受影响;2) 系统影响:简化了路由架构,减少代码维护成本,提升一致性;3) 团队影响:工程师需熟悉sglang_router配置,但降低了slime router的维护负担。影响程度中等,主要涉及配置和文档调整。
- 风险标记:向后兼容性风险, 文档更新滞后, 依赖变更风险
关联脉络
- PR #1770 use zhuzilin/sgl-router for sglang-router: 将sglang-router依赖切换为自定义版本,为移除slime router做准备,显示依赖统一化趋势。
- PR #1772 [docker] update sgl-router: 更新docker中的sgl-router依赖,与本PR移除slime router相关,共同推动sglang_router的采用。
参与讨论