修复 streaming 中 tool_choice=none 仍调用工具解析器的 bug
该 PR 是重要的正确性修复,值得所有使用工具解析功能的开发者关注。守卫位置和条件范围的设计决策(集中到 `_extract_tool_calls_streaming`、仅检查 `"none"`)值得在类似问题中借鉴。建议后续补充 Responses API 的回归测试,确保完全覆盖。
标签列表
聚合结果
修复 streaming 中 tool_choice=none 仍调用工具解析器的 bug
该 PR 是重要的正确性修复,值得所有使用工具解析功能的开发者关注。守卫位置和条件范围的设计决策(集中到 `_extract_tool_calls_streaming`、仅检查 `"none"`)值得在类似问题中借鉴。建议后续补充 Responses API 的回归测试,确保完全覆盖。
修复 parser 测试与 CI 触发路径
建议 PR 阅读者关注测试与 CI 触发路径的一致性,类似的源文件-测试触发关系应在添加新模块时一并配置。
支持递归工具参数类型转换
建议合并,但需关注空字符串行为变化,考虑补充对应测试或文档说明。设计模式值得学习:使用 `Into<ParamInput>` 桥接新旧输入,以及递归模式处理策略。
原始 PR · 作者 albertoperdomo2 · 合并时间 2026-06-02 16:50
迁移 ResponsesParser 到统一 Parser 接口
该 PR 值得精读,展示了将遗留组件迁移到统一接口的典型模式。重点关注 `ResponsesParser.process()` 的简化和流式处理的缓存设计(未来改进方向)。建议合并后尽快跟进流式问题的 CI 测试。
统一推理与工具调用解析到 Parser.parse()
值得精读,因为统一解析入口是前端架构重构的关键步骤,为后续支持更多解析组合打下基础。需关注作者关于“匹配 streaming”的设计决策及其潜在的兼容性影响。
将未流式化的工具参数冲刷从 serving 层移到 parser
值得精读,特别是对 tool-calling 流式和 parser 架构感兴趣的同学。设计上的核心决策——将冲刷逻辑从 serving 层下沉到 parser——是典型的状态内聚重构范例,值得学习。合并方式选择了 merge-only 而非 standalone 分支,体现了避免丢失字段的权衡。同时,测试的迁移方式也为类似重构提供了参考。
增量扫描 Gemma4 工具参数,性能提升约 600 倍
值得精读。该 PR 演示了如何通过引入轻量状态机避免重复全解析的经典优化技巧,设计决策清晰(保持框架扫描与完整语法分离),且性能数据令人印象深刻。对于需要使用流式工具解析的开发者有较高参考价值。
添加 hy_v3 工具解析器,支持 HY3 模型工具调用
值得精读。该 PR 展示了如何以最小代价在已有架构下新增工具解析器:复用 ToolSchema 转换和 parse_buffered_event 工具,同时灵活处理非标准类型别名。对后续支持类似 XML 格式模型有参考价值。