Prhub

vllm-project/vllm · 标签视图

标签列表

聚合结果

structured-output 相关 PR

2026-08-19
缺陷修复 重要性 5.51 洞察度 6.00

拒绝 pattern/format 与长度约束混用 schema

值得精读:这是一个 fail-closed 守卫与上游协作的典型样本,展示了如何在依赖库存在静默语义错误时,以最小代价在服务边界兜底。值得关注的设计决策:坚持宁可 400 也不静默出错;把长期修复责任明确移交上游 issue;在对其他后端(outlines、llguidance)做行为核对后再决定是否推广。若后续要扩展结构化输出支持面,abmfy 提出的 schema 位置感知遍历(只跟随 schema 承载字段、跳过 const/enum 数据)值得纳入重构。

2026-08-18
性能优化 重要性 6.51 洞察度 5.00

结构化输出已激活时跳过 reasoner 构造,省去不必要解析开销

值得精读。该 PR 展示了一个简洁的通用优化模式:通过状态前置判断避免昂贵对象构造,并用测试锁定"不变量"。虽然改动量小,但触及 structured-output 热路径,且与已有 `#43388` 回归测试保持了良好的一致性。建议关注 `should_advance` 中短路顺序与 `reasoning_ended` 状态写入的时序关系,后续若统一 `openai_gptoss` 路径时可进一步删除遗留分支。

2026-08-16
缺陷修复 重要性 6.94 洞察度 6.00

结构化输出校验改抛 VLLMValidationError,坏 schema 返回 400

值得精读,尤其关注两点:一是 auto 回退链与异常类型的耦合设计,任何异常迁移都必须同步检查所有 catch 站点;二是 NUL 分支刻意保留 ValueError 的做法,展示了“让异常不被回退链误捕”的防御性思路。后续 RFC #48227 的全局 ValueError 迁移可直接复用本 PR 的测试矩阵与迁移清单模式。

2026-08-14
重构 重要性 7.56 洞察度 6.00

entrypoint 测试统一到 VllmRunner 生命周期,修复 ROCm CI 显存回收

值得精读,尤其适合负责测试基础设施与 CI 稳定性的工程师。三个设计点值得借鉴:① 把 engine 生命周期收敛到上下文管理器,失败路径也走完整清理;② 用 weakref.proxy 对抗 pytest fixture 缓存造成的强引用;③ 并发 engine 场景下把显存等待从每个 runner 退出即时等待调整为全部退出后的有界等待。阅读时可重点对照 test_chat.py 的 fixture 与 test_gpu_utilization.py 的并发写法。

2026-08-11
缺陷修复 重要性 7.01 洞察度 5.00

xgrammar 语法未终止前屏蔽请求级 stop token

值得精读。改动紧凑(7 个文件约 120 行)但切中一个真实的高频数据正确性问题,测试设计精巧——用 gpt2 的固定 token id 精确驱动 grammar 状态机,验证 stop token 在非终止/终止两种状态下的 bitmask 差异。值得学习的点:请求级 stop 集合(generation_config eos 列表 + 用户 stop_token_ids)与 tokenizer 默认 eos 的差异如何漏进采样掩码;xgrammar `override_stop_tokens` 的对接方式;以及抽象接口签名变更多后端同步的工程规范。建议跟进 guidance 后端遗留的同类问题。

2026-07-24
缺陷修复 重要性 5.86 洞察度 3.00

恢复 structured output 模块的 logger 初始化

建议立即合并,这是一个关键的回归修复,解除对 main 分支所有开发者的 `pre-commit` 阻断。适合精读作为 merge regression 的典型例子。

缺陷修复 重要性 7.53 洞察度 6.00

修复异步调度+推测解码下推理结束标记丢失导致结构化输出失效

本 PR 值得精读,尤其是 `should_advance` 的重构和统一路径的设计决策。它展示了如何在跨多个上游后端的情况下通过 vLLM 层防御性修复设计缺陷。建议在合并后确认 E2E 回归(特别是非推测解码路径),并考虑后续删除占位符回退路径,强制所有调用点传递 `new_token_ids`。

2026-07-15
缺陷修复 重要性 7.77 洞察度 4.00

使用 SQLite 替换 diskcache,消除 pickle 反序列化风险

该 PR 值得精读,尤其是学习如何用标准库替换存在安全风险的第三方依赖并保持 API 兼容。`OutlinesDiskCache` 类实现简洁直观,展示了 `sqlite3` + `outlines_core` 原生序列化的替代方案,对于类似 pickle 安全问题的修复有参考价值。建议关注其中 `__reduce__` 的使用方式。