Prhub

#38492 [CI] Add temperature=0.0, reduce max_tokens, and add debug prints to audio_in_video tests

原始 PR 作者 AndreasKaratzas 合并时间 2026-03-30 13:36 文件变更 1 提交数 2 评论 5 代码增减 +18 / -4

执行摘要

为音频视频测试添加确定性温度设置和调试打印,减少 max_tokens 以增强测试稳定性。

根据PR body,动机是使测试生成确定性,因为这些测试没有设置温度或种子,可能导致非确定性输出长度和sporadic finish_reason='stop' 而不是预期的 'length'。减少max_tokens是为了额外确保模型在完成响应前达到token限制。添加调试打印是为了在断言失败时帮助诊断。

该PR值得快速阅读以了解测试稳定性改进的最佳实践。关注点包括如何通过设置确定性参数处理非确定性测试,以及添加调试信息以辅助未来诊断。对于涉及多模态测试的开发者,这是一个有用的参考。

讨论亮点

review中主要讨论来自gemini-code-assist[bot],指出在初始提交中max_tokens参数未从16改为8,与PR描述不符。作者AndreasKaratzas回复已修复此问题。结论是问题迅速解决,确保测试改动正确实施。

实现拆解

实现集中在单个文件 tests/entrypoints/openai/chat_completion/test_audio_in_video.py 中的两个异步测试函数:test_online_audio_in_videotest_online_audio_in_video_multi_videos。关键改动包括:1) 在client.chat.completions.create调用中添加temperature=0.0参数以确保生成确定性;2) 将max_tokens参数从16减少到8以增加测试确定性;3) 将循环变量从_改为turn并添加调试打印语句,显示每轮的finish_reasoncontentusage

文件 模块 状态 重要度
tests/entrypoints/openai/chat_completion/test_audio_in_video.py tests/entrypoints/openai/chat_completion modified 5.0

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

关键符号

test_online_audio_in_video test_online_audio_in_video_multi_videos

评论区精华

max_tokens 参数遗漏修改 正确性

gemini-code-assist[bot] 指出在 patch 中 max_tokens 未从 16 改为 8,作者 AndreasKaratzas 回复已修复。

结论:问题已解决,max_tokens 被正确修改为 8。 · 已解决

风险与影响

技术风险较低:修改仅限于测试文件,不直接影响生产代码。潜在风险包括调试打印可能增加测试输出噪声,但在测试环境中可接受。由于设置temperature=0.0,测试可能对模型行为变化更敏感,但这是预期的以提高确定性。

影响范围仅限于测试套件,特别是音频视频相关的在线聊天完成测试。提高了测试的稳定性和可调试性,减少flaky测试的可能性。对最终用户无直接影响,但有助于开发者更可靠地验证多模态功能。

低风险变更 调试打印添加

关联 Issue

未识别关联 Issue

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

完整报告

执行摘要

该PR通过为音频视频测试添加确定性温度设置、减少最大令牌数并添加调试打印,修复了测试中的非确定性行为,提高了测试稳定性和可调试性。这是一个低风险的测试维护变更。

功能与动机

动机是解决音频视频测试中的sporadic失败问题。根据PR body,测试未设置温度或种子,导致输出长度非确定性和finish_reason不一致。设置temperature=0.0使生成确定性,减少max_tokens确保模型在完成前达到令牌限制,添加调试打印辅助诊断。

实现拆解

实现集中在文件tests/entrypoints/openai/chat_completion/test_audio_in_video.py

  • 函数test_online_audio_in_videotest_online_audio_in_video_multi_videos中,在client.chat.completions.create调用添加temperature=0.0max_tokens=8
  • 将循环变量改为turn并添加打印语句:print(f"[DEBUG][single-video] turn={turn} finish_reason={choice.finish_reason!r} content={choice.message.content!r} usage={chat_completion.usage}")

评论区精华

review中,gemini-code-assist[bot]指出初始提交遗漏了max_tokens从16到8的修改,作者AndreasKaratzas迅速回复并修复。讨论焦点是正确性,确保PR描述与实际代码一致。

风险与影响

风险极低:仅修改测试文件,不影响生产代码。调试打印可能增加输出噪声,但限于测试环境。影响限于测试套件,提高音频视频测试的可靠性,减少flaky测试,对用户无直接影响。

关联脉络

与历史PR #38414类似,都旨在修复flaky测试。这表明团队持续关注测试稳定性,特别是在多模态和CI环境中。

参与讨论