框架: B4-S4收尾——审核分页≤30卡/批(放量防爆,同批互见保family检出)
This commit is contained in:
parent
6a8b7a9ba6
commit
467d9495f8
@ -88,17 +88,22 @@ def review(work_id, batch, model, dry_run):
|
|||||||
if not rows:
|
if not rows:
|
||||||
click.echo("无待审卡")
|
click.echo("无待审卡")
|
||||||
return
|
return
|
||||||
cards_json = json.dumps([{"idx": i + 1, **r[1]} for i, r in enumerate(rows)],
|
# 分页 ≤30 卡/批:放量后单调用塞全库必爆;同批互见保 family 检出
|
||||||
ensure_ascii=False, indent=1)
|
PAGE = 30
|
||||||
all_reviews = {}
|
all_reviews = {role: {} for role in ROLES}
|
||||||
for role, desc in ROLES.items():
|
for p0 in range(0, len(rows), PAGE):
|
||||||
content, usage = chat(
|
page = rows[p0:p0 + PAGE]
|
||||||
REVIEW_PROMPT.format(criteria=CRITERIA, n=len(rows), cards=cards_json),
|
cards_json = json.dumps([{"idx": p0 + i + 1, **r[1]} for i, r in enumerate(page)],
|
||||||
model=model, system=SYSTEM_TMPL.format(role_desc=desc))
|
ensure_ascii=False, indent=1)
|
||||||
data = extract_json(content)
|
for role, desc in ROLES.items():
|
||||||
all_reviews[role] = {int(r["idx"]): r for r in data.get("reviews", []) if r.get("idx")}
|
content, usage = chat(
|
||||||
click.echo(f"[{role}] 评 {len(data.get('reviews', []))} 卡 "
|
REVIEW_PROMPT.format(criteria=CRITERIA, n=len(page), cards=cards_json),
|
||||||
f"(in={usage.get('prompt_tokens')}) 总评: {data.get('overall', '')[:80]}")
|
model=model, system=SYSTEM_TMPL.format(role_desc=desc))
|
||||||
|
data = extract_json(content)
|
||||||
|
all_reviews[role].update(
|
||||||
|
{int(r["idx"]): r for r in data.get("reviews", []) if r.get("idx")})
|
||||||
|
click.echo(f"[{role}] 批{p0 // PAGE + 1} 评 {len(data.get('reviews', []))} 卡 "
|
||||||
|
f"(in={usage.get('prompt_tokens')}) 总评: {data.get('overall', '')[:80]}")
|
||||||
# 汇总判定并写库(按序号匹配)
|
# 汇总判定并写库(按序号匹配)
|
||||||
stats = {"pass": 0, "revise": 0, "reject": 0}
|
stats = {"pass": 0, "revise": 0, "reject": 0}
|
||||||
for i, (cid, payload) in enumerate(rows):
|
for i, (cid, payload) in enumerate(rows):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user