事情本身不复杂,线索都在日志里。调 moderation 接口后代码判断 resp['flagged'] 为 False 就放行,实际 flagged 在 results 数组的每个元素里,业务取错了层级,违规内容全量放行,直到抽查才发现。
第一反应是「多段输入时结果条数与输入条数不一致」,验证下来不成立。
这类报错背后常见的原因有几处,逐个排除就行。flagged 字段在 results 数组的每个元素里。另一种情况是外层聚合字段与单项字段含义不同。
还有一种情况,代码沿用了上一版的结构。
第一件事是打印完整返回确认层级
python mod_dump.py --head 500
然后按 results 逐条判断
python mod_check.py --any-flagged
多段输入时对齐下标
python mod_check.py --align-inputs
末了用已知违规文本验证判定
python mod_test.py --text 违规样本
恢复的判定其实很直接。违规样本被判为 flagged 并阻断,正常样本放行,多段输入的下标能正确对应回原文。
审核接口常带外层汇总与逐项结果两套字段,判断前先打印一次完整结构,别凭记忆写字段路径。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
