Prhub

#43761 [Frontend]Responses API supports chat_template_kwargs

原始 PR 作者 chaunceyjiang 合并时间 2026-05-29 15:58 文件变更 1 提交数 4 评论 1 代码增减 +13 / -2

执行摘要

Responses API 支持 chat_template_kwargs 传递

PR #42272 引入了 chat_template_kwargs 支持,但在 Responses API 的 parser 调用中遗漏了该参数,导致 DeepSeek-V3.2 等模型的 分割失效。PR body 明确指出 'The parser did not split the model output based on because chat_template_kwargs was not properly passed to the reasoning parser.'

修复明确、风险低、影响集中在特定模型配置场景。建议阅读以了解 Responses API 与 chat_template_kwargs 的交互逻辑。无需精读。

讨论亮点

无 review 评论。仅有一位 reviewer 审批通过(LGTM, thanks!)。

实现拆解

  1. vllm/entrypoints/openai/responses/serving.py_make_response_output_items 方法中,实例化 parser 时新增 chat_template_kwargs=self._effective_chat_template_kwargs(request) 参数传递。
  2. _process_simple_streaming_events 方法中同样修改 parser 创建逻辑,确保流式场景也能获取到 chat_template_kwargs。
  3. 使用已有的 self._effective_chat_template_kwargs(request) 方法获取配置,无新增依赖。
文件 模块 状态 重要度
vllm/entrypoints/openai/responses/serving.py 前端服务 modified 6.04

关键符号

_make_response_output_items _process_simple_streaming_events

关键源码片段

vllm/entrypoints/openai/responses/serving.py core-logic

唯一修改的文件,包含两处 parser 初始化逻辑变更,是修复核心。

# vllm/entrypoints/openai/responses/serving.py# 非流式场景:_make_response_output_items 方法中
if self.parser:
    # 获取请求对应的 chat_template_kwargs,如 reasoning_effort
    chat_template_kwargs = self._effective_chat_template_kwargs(request)
    parser = self.parser(
        tokenizer, request.tools, chat_template_kwargs=chat_template_kwargs
        # ^^ 之前遗漏了 chat_template_kwargs,导致 reasoning parser
        # 无法获知用户配置的 reasoning_effort 等参数
    )
    return parser.extract_response_outputs(...)# 流式场景:_process_simple_streaming_events 方法中
parser = (
    self.parser(
        tokenizer,
        request.tools,
        chat_template_kwargs=self._effective_chat_template_kwargs(request),
    )
    if self.parser
    else None
)

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

变更仅涉及两处 parser 实例化行,逻辑简单且复用已有方法,回滚风险极低。若 _effective_chat_template_kwargs 返回异常值,可能影响所有使用 parser 的 Responses API 调用,但该风险与主 PR 一致,本变更未引入新风险。

影响使用 Responses API 且依赖 chat_template_kwargs(如 reasoning_effortenable_thinking)的模型(如 DeepSeek-V3.2)。修复后,非流式与流式响应均能正确解析推理标记。测试覆盖未显式增加,但 PR body 提供了手动验证方式。

缺少测试覆盖

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论