fix: force ai check in spam tester

This commit is contained in:
ngfchl
2026-07-07 23:34:32 +08:00
parent 6148b2166a
commit ff28a35a47
+9 -2
View File
@@ -782,8 +782,15 @@ async def api_spam_test(data: SpamTestPayload):
"rule_counts": {"keywords": len(spam_detector.EXTERNAL_KEYWORD_RULES), "regex": len(spam_detector.EXTERNAL_REGEX_RULES), "adblock_domains": len(spam_detector.ADBLOCK_DOMAINS)},
}
if use_ai:
ai_is_spam, ai_reason = await spam_detector.detect(text)
result.update({"ai_is_spam": ai_is_spam, "ai_reason": ai_reason, "final_is_spam": ai_is_spam})
if decision is True:
result.update({"ai_is_spam": None, "ai_reason": "本地强规则已判定为垃圾,未额外调用 AI", "final_is_spam": True})
else:
ai_is_spam, ai_reason = await spam_detector.ai_classify(text)
final_is_spam = True if ai_is_spam else (bool(decision) if decision is not None else False)
if ai_is_spam and score < 75:
result["score"] = 80
result["reason"] = f"{reason}; AI加权判定"
result.update({"ai_is_spam": ai_is_spam, "ai_reason": ai_reason, "final_is_spam": final_is_spam})
else:
result["final_is_spam"] = bool(decision) if decision is not None else None
return JSONResponse(result)