执行摘要
内联 _build_model_config 简化调用
PR body 指出包装器 _build_model_config 在转发四个参数给 ModelConfig.from_server_args 时没有增加任何逻辑、验证、副作用或默认值变更,内联后调用点更直接,并缩小 ModelRunner 的接口面。
值得快速合并,属于整洁代码的标准实践。可引导团队推广此类无价值包装器内联,减少间接层数。
PR body 指出包装器 _build_model_config 在转发四个参数给 ModelConfig.from_server_args 时没有增加任何逻辑、验证、副作用或默认值变更,内联后调用点更直接,并缩小 ModelRunner 的接口面。
值得快速合并,属于整洁代码的标准实践。可引导团队推广此类无价值包装器内联,减少间接层数。
ModelRunner._build_model_config 私有方法定义(第 571-576 行)。__init__ 中两处调用 self._build_model_config(...) 替换为 ModelConfig.from_server_args(...),参数完全一致。ModelConfig 已在文件顶部导入,无需新增 import。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
python/sglang/srt/model_executor/model_runner.py |
模型运行器 | modified | 7.03 |
python/sglang/srt/model_executor/model_runner.py
core-logic
唯一变更文件,删除 _build_model_config 并在两处调用点内联
# 变更前:调用包装器
# draft_model_config = self._build_model_config(
# server_args,
# model_path=(server_args.speculative_draft_model_path),
# model_revision=server_args.speculative_draft_model_revision,
# is_draft_model=True,
# )
# 变更后:直接调用 ModelConfig.from_server_args
draft_model_config = ModelConfig.from_server_args(
server_args,
model_path=(server_args.speculative_draft_model_path),
model_revision=server_args.speculative_draft_model_revision,
is_draft_model=True,
)
# 删除的方法定义原内容为:
# def _build_model_config(
# self, server_args, model_path=None, model_revision=None, is_draft_model=False
# ):
# return ModelConfig.from_server_args(
# server_args,
# model_path=model_path,
# model_revision=model_revision,
# is_draft_model=is_draft_model,
# )
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
极小。变更仅是源代码级内联,无行为变化。唯一残留风险是未来有人误以为 _build_model_config 仍在暴露而试图调用,但已删除方法会被 IDE 或运行时快速发现。
直接影响 python/sglang/srt/model_executor/model_runner.py 文件。对用户无感知,对开发者而言,ModelRunner 的私有接口减少一个,调用点更直接。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论