Prhub

#21262 Fix customized_info offset truncation

原始 PR 作者 aurickq 合并时间 2026-03-26 10:57 文件变更 1 提交数 3 评论 2 代码增减 +3 / -1

执行摘要

修复 customized_info 在输出截断时的切片偏移错误,确保数据一致性。

根据 PR body 描述,'customized_info can be sliced incorrectly when output is truncated due to stop token. This makes it match the slicing for output_ids.',即需要修复切片逻辑以确保在输出截断时 customized_info 与 output_ids 的切片一致。

该 PR 变更简单直接,工程师可快速浏览以了解切片修复逻辑,无需深度解析。对于管理者,关注点在于确保此 bugfix 被正确测试和部署。

讨论亮点

Review 过程中无实质性讨论。审核者 Qiaolin-Yu 直接批准了变更,未提出任何评论或疑虑。

实现拆解

实现方案集中在文件 python/sglang/srt/managers/scheduler_output_processor_mixin.pystream_output_generation 函数中。关键改动是将 customized_info[k].append(v[send_token_offset:]) 修改为 customized_info[k].append(v[send_token_offset : len(output_ids_)])。这样,切片的结束索引由 output_ids 的长度决定,而非默认切片到末尾,确保在截断情况下数据对齐。

文件 模块 状态 重要度
python/sglang/srt/managers/scheduler_output_processor_mixin.py 调度器输出处理器 modified 4.0

关键符号

stream_output_generation

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

无实质性讨论 other

Review 中仅有批准,无技术交锋。

结论:变更被接受并合并。 · 已解决

风险与影响

技术风险较低,但需确保切片逻辑在边界情况下正确,例如当 send_token_offset 大于 len(output_ids_) 时。变更影响核心输出处理路径,如果索引计算错误,可能导致数组越界或数据不一致。建议验证测试覆盖此场景。

对用户影响:修复了输出截断时 customized_info 数据错误的问题,提高数据可靠性和一致性。影响范围:仅限于使用 customized_info 的功能,可能涉及自定义输出处理或监控。系统层面:调度器输出处理器是关键组件,但变更微小,预期无副作用。

核心路径变更 潜在数据不一致风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论