fix: Codex 全量审查修正

Critical:
- C1: assemble_mode 'plain' → 'ids'(合法枚举值)
- C2: question_id 加入 task_type slug 避免跨题型冲突

Important/Minor:
- generate_one 移除未用的 embed_fn/similarity_threshold 参数
- config.py 注释 11→12 同步
- 测试 question_id 断言更新

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-09 07:40:27 -04:00
parent fad8147d71
commit f57ee45dc0
4 changed files with 7 additions and 28 deletions
+1 -5
View File
@@ -624,7 +624,7 @@ def parse_vlm_response(
raise ValueError(f"answer 必须是 A/B/C/D 之一,实际 '{answer}': {raw[:200]}")
return {
"question_id": f"gen-{video_id}-{seq:03d}",
"question_id": f"gen-{video_id}-{task_type.lower().replace(' ', '_')}-{seq:03d}",
"question": data["question"],
"options": list(options),
"answer": answer,
@@ -669,7 +669,6 @@ def is_duplicate(
async def generate_one(
vlm: VLMProvider,
embed_fn: Callable[[str | list[str]], np.ndarray],
tree: TreeIndex,
video_id: str,
task_type: str,
@@ -678,7 +677,6 @@ async def generate_one(
exemplars: list[GeneratedQuestion],
used_node_ids: set[str],
max_retries: int,
similarity_threshold: float,
rng: random.Random,
session_id: str,
) -> GeneratedQuestion | None:
@@ -695,7 +693,6 @@ async def generate_one(
参数:
vlm: VLM 调用端口。
embed_fn: 文本嵌入函数(本函数内未使用,由调用方统一去重)。
tree: 三层树索引。
video_id: 所属视频标识。
task_type: 12 种 Video-MME 题型之一。
@@ -703,7 +700,6 @@ async def generate_one(
exemplars: 少样本示例列表。
used_node_ids: 已用节点 ID 集合。
max_retries: 最大重试次数。
similarity_threshold: 余弦相似度阈值(本函数内未使用)。
rng: 可控随机数生成器。
session_id: 会话 ID(传递给 VLM 遥测)。