Prhub

#25448 Inline the trivial _build_model_config wrapper

原始 PR 作者 fzyzcjy 合并时间 2026-05-16 09:25 文件变更 1 提交数 1 评论 1 代码增减 +2 / -12

执行摘要

内联 _build_model_config 简化调用

PR body 指出包装器 _build_model_config 在转发四个参数给 ModelConfig.from_server_args 时没有增加任何逻辑、验证、副作用或默认值变更,内联后调用点更直接,并缩小 ModelRunner 的接口面。

值得快速合并,属于整洁代码的标准实践。可引导团队推广此类无价值包装器内联,减少间接层数。

实现拆解

  1. 删除 ModelRunner._build_model_config 私有方法定义(第 571-576 行)。
  2. __init__ 中两处调用 self._build_model_config(...) 替换为 ModelConfig.from_server_args(...),参数完全一致。
  3. ModelConfig 已在文件顶部导入,无需新增 import。
  4. 行为等值,不涉及任何逻辑变更。
文件 模块 状态 重要度
python/sglang/srt/model_executor/model_runner.py 模型运行器 modified 7.03

关键符号

_build_model_config

关键源码片段

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

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论