はじめに
OSSの迷惑メールフィルタシステムの Rspamd は、バージョン 3.9 で標準的な外部AI連携機能(GPT Plugin)が利用可能になりました。
今回はさくらのAI Engine を使用した迷惑メールフィルタの設定方法を紹介したいと思います。
今回試した rspamd のバージョンは 4.1.3
GPT Plugin を使用する為の rspamd の設定
#-- score が 6以上のメールは spam と判定し、ヘッダーを追加する設定
add_header = 6 ;
#-- さくらのAI Engineを利用する為の設定
enabled = true;
type = "openai";
url = "https://api.ai.sakura.ad.jp/v1/chat/completions";
api_key = "アカウントトークン"
model = "gpt-oss-120b" ;
autolearn = true;
timeout = 7s;
allow_ham = true;
reason_header = "X-GPT-Reason";
#-- SPAM 又は PHISHING と判定したメールに加点したい score を設定する
group "gpt" {
symbols = {
GPT_SPAM {
weight = 6;
}
GPT_PHISHING {
weight = 7;
}
}
}
迷惑メール判定 例
rspamd の管理ページで 迷惑メールを確認

GPT_PHISHING/GPT_SPAM 合わせて 12.04 が加点され、合計 12.64。SPF/DKIM/DMARCがpassしており、AIによる判定がない場合は 0.64 で私の環境では受信ボックスに入るメールだ。
実際に届いたメール と 判定理由
判定にかかる時間
直近200通分の さくらのAI Engine の応答速度を集計(rspamdのログ保存期間が短かった)
平均応答速度: 1603.65 ms(約 1.60 秒)
最大速度(最長応答時間): 4194.15 ms(約 4.19 秒)
最速速度(最短応答時間): 610.35 ms(約 0.61 秒)
メール配信遅延への影響はほとんど気にならないレベルでした。
さくらのAI Engineの1ヶ月の利用量

1ヶ月で1500通程度メールが届き、約4.2%を 迷惑メールと判断していた。
まとめ
迷惑メールに惑わされることがなくなったのでとても快適です。
さくらのAI Engineありがとう。
今の所、問題となるような誤判定は見つかってません。
特定企業が残念なメルマガの送り方をしていて迷惑メール判定されていたりで面白い。
