From: Vsevolod Stakhov Date: Tue, 1 Aug 2017 07:05:06 +0000 (+0100) Subject: [Feature] Implement manual ANN train mode X-Git-Tag: 1.7.0~777 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6dbe8d02d8666d701cc19fa15fa53795260bbd15;p=thirdparty%2Frspamd.git [Feature] Implement manual ANN train mode --- diff --git a/src/plugins/lua/fann_redis.lua b/src/plugins/lua/fann_redis.lua index 65d354b215..2ae9c19d84 100644 --- a/src/plugins/lua/fann_redis.lua +++ b/src/plugins/lua/fann_redis.lua @@ -456,15 +456,28 @@ local function fann_train_callback(rule, task, score, required_score, id) local learn_spam, learn_ham - if train_opts['spam_score'] then - learn_spam = score >= train_opts['spam_score'] - else - learn_spam = score >= required_score - end - if train_opts['ham_score'] then - learn_ham = score <= train_opts['ham_score'] + if rule.autotrain then + if train_opts['spam_score'] then + learn_spam = score >= train_opts['spam_score'] + else + learn_spam = score >= required_score + end + if train_opts['ham_score'] then + learn_ham = score <= train_opts['ham_score'] + else + learn_ham = score < 0 + end else - learn_ham = score < 0 + -- Train by request header + local hdr = task:get_request_header('ANN-Train') + + if hdr then + if hdr:lower() == 'spam' then + learn_spam = true + elseif hdr:lower() == 'ham' then + learn_ham = true + end + end end if learn_spam or learn_ham then