AI spam classification: default to 2 KiB of text and a +2.0 cap on the model's tag, as calibrated for low-end CPU-only instances

The calibration harness (tests/src/system/ai_calibration.rs, ignored) sends
what the classifier sends to a real local model and scores its answers with
the classifier's parser.
This commit is contained in:
2026-09-19 06:21:08 -07:00
parent 554cc4fcd2
commit 2e6c234152
5 changed files with 130 additions and 5 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ impl SpamFilterAnalyzeScore for Server {
// inbuxa: AI-13: the model's tag moves the score only so far, and
// never discards or rejects on its own
if inbuxa_features::ai::answer::is_llm_tag(tag) {
let (max_added, max_subtracted) = ctx.result.llm_bounds.unwrap_or((5.0, 1.0));
let (max_added, max_subtracted) = ctx.result.llm_bounds.unwrap_or((2.0, 1.0));
let score = match self.core.spam.lists.scores.get(tag) {
Some(SpamFilterAction::Allow(score)) => {
inbuxa_features::ai::answer::clamp(*score, max_added, max_subtracted)