Prhub

THUDM/slime · 标签视图

标签列表

聚合结果

test 相关 PR

2026-08-26

#2330 [docs] fix out-dated doc

原始 PR · 作者 zhuzilin · 合并时间 2026-08-26 15:23

文档 重要性 7.21 洞察度 5.00

修复过期文档并新增文档一致性测试

值得精读测试文件 `tests/test_docs_consistency.py` 的设计思路,它用不到 100 行代码自动守护了全仓库文档的链接和命令有效性,可复用到其他仓库;`docs/conf.py` 的 `_sync_examples` 变更也值得关注,它展示了如何让示例文档引用真实文件而非仅有 README。若团队有类似文档漂移痛点,可将此 PR 作为模板参考。

#2327 feat: allow forcing UE8M0 FP8 scales

原始 PR · 作者 zhuzilin · 合并时间 2026-08-26 14:39

功能 重要性 6.88 洞察度 5.00

新增 --force-fp8-ue8m0-scale 开关,强制 UE8M0 量化

值得精读。重点学习如何将运行时依赖与用户强制开关解耦,以及如何在参数层提供灵活性。建议补充文档并增加对 `_quantize_param` 分支的测试。

2026-08-25

#2323 [cleanup] Refactor rollout.py

原始 PR · 作者 zhuzilin · 合并时间 2026-08-25 11:06

重构 重要性 9.18 洞察度 6.00

重构 rollout.py,拆分 SGLang 部署逻辑至 sglang_utils 子模块

值得精读。本 PR 是典型的「大文件拆分」重构示范,展示了如何将散落的部署逻辑按职责边界重新聚合为 engine-group / deployment / disaggregation 三层。重点关注 engine_group.py 中 GPU 槽位校验逻辑(`required_gpu_slots` 判断)和 deployment.py 中 router 的启动与复用策略,这些是后续排查部署问题的基础。

2026-08-24

#2322 [cleanup] Remove rollout_validation.py

原始 PR · 作者 zhuzilin · 合并时间 2026-08-24 21:38

重构 重要性 6.98 洞察度 3.00

删除 rollout_validation 模块,GPU 放置校验内联至 rollout.py

值得快速浏览,重点确认 slime/ray/rollout.py 内联后的行为等价性与测试移除的取舍。若团队重视该校验的回归保护,可考虑在后续 PR 中补充针对 ServerGroup.start_engines 的集成测试或参数化单元测试。

重构 重要性 7.35 洞察度 5.00

新增 create_weight_updater 工厂,精简 actor 初始化

值得快速浏览,重点学习两点:一是如何用函数级延迟导入 + monkeypatch sys.modules 注入假模块来零成本测试内部 import 分支;二是把散落在核心初始化函数里的分派逻辑收敛为工厂函数时,如何用断言保住配置约束。若后续需要扩展权重同步通道,此工厂是天然的挂载点。

重构 重要性 8.10 洞察度 4.00

清理死代码与未访问分支,精简 32 个文件

该 PR 可作为仓库清理死代码的范式,适合需要了解如何系统识别未访问分支的工程师阅读。不建议深入学习具体业务逻辑,但可以重点关注其删除策略:先搜索调用方,再合并分支,最后同步测试。同时提醒在删除公共 API 前确认是否存在插件或外部依赖。

#2318 [ci] move fanout_test_helpers to tests/

原始 PR · 作者 zhuzilin · 合并时间 2026-08-24 16:03

重构 重要性 4.62 洞察度 4.00

将 fanout 测试辅助模块迁至 tests/ 并改用 PYTHONPATH 注入

值得花两三分钟快速阅读,作为测试基础设施组织的样例,不建议精读。核心关注点是两点:一是 importlib.import_module 无法解析文件名带点的模块路径,导致测试辅助代码被迫寻找「无点模块名 + 可导入」的位置;二是通过 extra_env_vars 注入 PYTHONPATH 让 Ray driver 与 worker 都能看到 tests/ 目录的做法,这是 slime 仓库 E2E 测试中一个可复用的模式。该 PR 展示了作者在包边界上的审慎:避免测试代码渗入运行库。

2026-08-21

#2298 [NFC] Add observability subfolder

原始 PR · 作者 zhuzilin · 合并时间 2026-08-21 17:14

重构 重要性 9.00 洞察度 4.00

新增 observability 子模块并迁移日志指标工具

值得作为大型 Python 项目做 NFC 结构整理的参考案例浏览。重点关注三点:一是新建子包时如何通过 rename 保留 git 历史;二是跨模块搬移后如何通过 import 集中更新与测试迁移保证行为不变;三是 rollouts_metrics 与 train_metric_utils 的职责划分(rollout 侧指标 vs 训练侧归约)可复用到其他 RL 训练框架。对功能理解而言本 PR 无新逻辑,不必深入精读每个函数。