执行摘要
整理 server_args.py 常量分组并移除无用别名
提升 server_args.py 的可读性和可维护性,将相关的 attention backend 列表放在一起,移除冗余别名,添加分组注释以便于后续开发者理解。
值得快速浏览,了解 server_args.py 的结构改进,尤其适合关注代码整洁性的读者。
无 review 讨论,PR 为作者自审合并。
提升 server_args.py 的可读性和可维护性,将相关的 attention backend 列表放在一起,移除冗余别名,添加分组注释以便于后续开发者理解。
值得快速浏览,了解 server_args.py 的结构改进,尤其适合关注代码整洁性的读者。
无 review 讨论,PR 为作者自审合并。
# ---------- ...),便于快速定位。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
python/sglang/srt/server_args.py |
配置层 | modified | 6.18 |
python/sglang/srt/server_args.py
core-logic
所有变更均集中在此文件:移动常量、去除别名、添加注释。
# 将 CHUNKED_PREFIX_CACHE 相关定义移至 ATTENTION_BACKEND_CHOICES 之后
# 使得 attention backend 的列表集中在一起,提升可读性
ATTENTION_BACKEND_CHOICES = [
# ... 省略具体后端
]
# Attention backends whose kernels read the chunked prefix-cache layout.
# Out-of-tree platforms may extend this list (via
# add_chunked_prefix_cache_attention_backend) before ServerArgs construction;
# the chunked-prefix gate is evaluated during resolution.
CHUNKED_PREFIX_CACHE_SUPPORTED_ATTENTION_BACKENDS = [
"flashinfer",
"fa3",
"fa4",
"flashmla",
"cutedsl_mla",
"cutlass_mla",
"trtllm_mla",
"tokenspeed_mla",
]
# 简化后的注册辅助函数,不再检查重复添加(调用方保证)
def add_chunked_prefix_cache_attention_backend(backend_name):
CHUNKED_PREFIX_CACHE_SUPPORTED_ATTENTION_BACKENDS.append(backend_name)
# 删除了冗余别名 SPECULATIVE_DRAFT_MODEL_QUANTIZATION_CHOICES = QUANTIZATION_CHOICES
# 在参数定义中直接使用 QUANTIZATION_CHOICES
class ServerArgs:
speculative_draft_quantization: Optional[str] = Field(
default=None,
choices=QUANTIZATION_CHOICES, # 直接引用,无需别名
...
)
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险极低。纯重构,无行为变化。唯一注意点是 add_chunked_prefix_cache_attention_backend 函数简化后不再检查重复添加,但该函数预期仅由 out-of-tree 平台在启动早期调用一次,重复调用风险可控。
影响范围限于 server_args.py 的可读性和维护性。对运行时行为无影响,所有功能保持兼容。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论