事情本身不复杂,线索都在日志里。调 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 并阻断,正常样本放行,多段输入的下标能正确对应回原文。

审核接口常带外层汇总与逐项结果两套字段,判断前先打印一次完整结构,别凭记忆写字段路径。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189