# PR #7077 完整报告

- 仓库：`PaddlePaddle/FastDeploy`
- 标题：[Other] support video_fps args for video bench
- 合并时间：2026-04-02 10:40
- 原文链接：http://prhub.com.cn/PaddlePaddle/FastDeploy/pull/7077

---

# 执行摘要

- 一句话：为 OpenAI 协议请求添加临时参数 video_fps，支持视频理解基准测试。
- 推荐动作：该 PR 实现简单，可快速浏览了解协议扩展模式。值得关注的是 Copilot 指出的设计问题：临时参数如何与现有处理链路集成。建议结合后续是否补充消费逻辑的 PR 一起分析。

# 功能与动机

根据 PR 标题和代码注释，动机是支持视频理解基准测试（video understanding benchmark）在请求侧传入抽帧 FPS 信息。PR body 未提供详细背景，但从注释“temporary parameter for video understanding benchmark”可推断这是一个临时性功能扩展，用于特定基准测试场景。

# 实现拆解

实现方案非常简单，仅在 fastdeploy/entrypoints/openai/protocol.py 文件中为两个请求类（CompletionRequest 和 ChatCompletionRequest）各添加一个可选字段 video_fps: Optional[float] = None。该字段会通过 to_dict_for_infer() 方法透传到请求字典中，但当前实现未在预处理链路中实际消费该参数。

关键文件：
- `fastdeploy/entrypoints/openai/protocol.py`（模块 APIServer/Protocol）: 唯一修改文件，定义了 OpenAI 协议请求类，新增 video_fps 字段影响接口规范。

关键符号：CompletionRequest.to_dict_for_infer, ChatCompletionRequest.to_dict_for_infer


# 评论区精华

Copilot 在 review 中提出了三个关键点：1) 指出 video_fps 字段仅被透传但未被实际使用，建议映射到现有 mm_processor_kwargs.video_fps 机制或在预处理阶段消费；2) 建议补充单测覆盖以确保字段正确透传；3) 指出 PR 标题标签 [Other] 与仓库约定 [Others] 不一致。这些讨论揭示了实现不完整和规范遵循问题，但未在 PR 中看到作者对这些评论的回应或修改。

- video_fps 字段未被实际消费 (design): 未在 PR 中看到作者回应或修改，字段功能不完整。
- 缺少测试覆盖 (testing): PR 未添加测试，存在回归风险。
- PR 标签规范问题 (style): PR 已合并但标签未修改，存在规范偏差。

# 风险与影响

- 风险：主要风险包括：1) 功能不完整风险：新增字段未被实际消费，可能导致基准测试参数传递无效；2) 维护风险：作为临时参数缺乏文档说明和测试覆盖，易被后续重构忽略；3) 接口污染风险：在核心协议类中添加临时字段可能影响接口稳定性。风险集中在 protocol.py 文件的字段定义和透传逻辑上。
- 影响：对用户影响有限，仅对需要视频理解基准测试的开发者提供参数透传能力。对系统影响极小，未改动核心处理逻辑。对团队影响主要是增加了协议层字段，需注意后续清理或正式集成。影响程度为低，属于边缘功能扩展。
- 风险标记：功能不完整 , 缺少测试覆盖 , 临时参数维护风险

# 关联脉络

- PR #7154 [BugFix]fix extract_tool_calls: 同样修改 APIServer 相关模块（tool_parsers），涉及 OpenAI 协议处理。
- PR #7079 [Optimization]Fix tool parser: 涉及 OpenAI 协议工具解析器修复，同属 APIServer 领域。