fix: force ai check in spam tester
This commit is contained in:
+9
-2
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user