评论反垃圾别用大模型了,试试决策模型
我的评论系统 ASCS 最开始接 AI 反垃圾是这么干的:把评论原文丢给大模型,问它「这是不是垃圾,只回是或否」。
能跑,但用着用着就烦了。
第一,它不好好回。有时候先来一句「好的,我来分析一下」,有时候干脆不按格式来。
第二,慢。得等它把一整段话说完,评论区等不起。
后来我想明白了:判断一条评论是不是垃圾,这是个分类问题啊。给一段文字,从几个选项里挑一个,完事。这用得着「写」吗?
专门干这个的模型有个名字,叫决策模型(Decision Model)。
决策模型是什么
用法很简单。
你给它一段输入(state),文本、JSON 都行,图片视频也能塞;再给它几个问题,它直接返回每个选项的概率。一个字都不生成。
问题有三种:
- choice:从几个选项里挑一个
- noul:是或否
- score:在一个有序档位上打分
这类模型里最有名的是 Jev,TypeSafe AI 管它叫「System One」。你可以这么理解:普通 LLM 是慢思考,想半天、打草稿、再写出来;决策模型是快思考,看一眼就出判断,还告诉你它有多确定。一次前向传播,换一个结果。
为什么评论区适合用这个
它本来就是个分类器。垃圾、正常、可疑——这不就是选择题吗?不用再费劲写 prompt 教模型「只准回是或否」。
更重要的是概率。它不给你一个干巴巴的答案,而是给一整组概率。0.998 的直接拦,0.6 的丢待审,阈值你自己定。
快也是刚需。它不生成 token,output_tokens 永远是 0,毫秒级返回。
还有个好处:一次请求能问多个问题。同一条评论,「是不是广告」「是不是灌水」「有没有骂人」「要不要人工看」,一个请求全问了,输入只解析一遍。要是分开问,成本直接翻倍。
最小的模型才 0.6B,想的话塞自己机器上跑也行,数据不用出门。
有个免费的 API 可以用
自己训不现实,但有人放出来了:decision.vllm-sr.ai。
这是 vLLM Semantic Router 团队开放的一组 Decision 3.0 模型 API,免费用。官方 Jev Decision Index 0.3.2 上,文本榜、视觉榜都排第一(66.26 / 71.26)。一共六个尺寸,从 27B 到 0.6B,都能读文本、图片和视频:
| 模型 | 尺寸 | 文本 / 视觉 |
|---|---|---|
vllm-sr/d3 |
27B | 66.26 / 71.26 |
vllm-sr/d3-flash |
9B | 55.79 / 66.89 |
vllm-sr/d3-mini |
4B | 52.61 / 63.16 |
vllm-sr/d3-nano |
2B | 38.86 / 54.67 |
vllm-sr/d3-lite |
0.8B | 32.33 / 42.11 |
vllm-sr/d3-edge |
0.6B | 20.24 / 31.71 |
纯文本垃圾检测,vllm-sr/d3-flash 就够了,9B,快也便宜。要处理图片评论,再上 vllm-sr/d3。
领 Key 不用注册,打开 https://decision.vllm-sr.ai,首页点一下,sk-vsr- 开头的 Key 就出来了。注意:只显示一次,当场存好。
试一下
接口是 System One 那套,POST /v1/systemone。把评论丢进去,问三个问题:
curl -s https://decision.vllm-sr.ai/v1/systemone \
-H "Authorization: Bearer $DECISION_API_KEY" \
-H 'content-type: application/json' -d '{
"model": "vllm-sr/d3-flash",
"state": "【惊天优惠】点击 http://spam.example 领取免费 iPhone,仅限今天!加微信 abc123。",
"questions": {
"spam": {
"type": "choice",
"instructions": "这条评论属于哪一类?",
"criteria": {
"ham": "正常交流,与文章相关的讨论",
"spam": "广告、引流、诈骗、外链推广",
"junk": "无意义灌水,或与文章完全无关"
}
},
"review": {
"type": "noul",
"instructions": "这条评论是否需要人工复核?"
},
"quality": {
"type": "score",
"instructions": "这条评论的讨论质量如何?",
"criteria": ["垃圾", "一般", "不错", "优质"]
}
}
}'
返回的就是概率:
{
"answers": {
"spam": {
"type": "choice",
"choice": "spam",
"probabilities": {"ham": 0.0006, "spam": 0.9981, "junk": 0.0013},
"confidence": 0.9962
},
"review": {"type": "noul", "noul": 0.0210},
"quality": {
"type": "score",
"score": 0.0154,
"probabilities": {"0": 0.9861, "1": 0.0120, "2": 0.0015, "3": 0.0004},
"confidence": 0.9861,
"legend": {"0": "垃圾", "1": "一般", "2": "不错", "3": "优质"}
}
},
"model": "vllm-sr/d3-flash",
"usage": {"input_tokens": 268, "output_tokens": 0}
}
spam 0.9981,质量分 0.0154。直接拦。
接进评论系统
我的流程大概是这样:
- 评论提交,先过决策模型,拿
spam概率 - 按概率分流:0.9 以上直接拦,0.5 到 0.9 丢待审打「疑似」标,0.5 以下放行
- 要给人看的,把
quality、review结果一起存下来摆后台 - 阈值别写死。先开影子模式,只记不拦,跑一阵拿真实评论对一对——每个站读者不一样,线在哪儿也不同
ASCS 里我就是这么接的。换过来之后最直观的变化:延迟从「等它说完一段话」掉到毫秒级,而且手里多了概率这个旋钮,策略总算能调了。
几个坑
免费服务按分钟、按天有额度,个人博客和中小评论区够用。三个坑提醒一下:
- Key 别放前端。判定放服务端,浏览器那边碰都别碰,被人扒走流量算你的
- 别塞敏感数据。官方写了,请求和响应可能被记录,拿去改进模型
- 它只是个判断器。要理解上下文、要生成回复,还得 LLM 上。决策模型管「下一步往哪走」,LLM 管「接下来怎么说」,别越界
你也可以试试让决策模型来审核评论,花1分钟去 decision.vllm-sr.ai 领个免费 Key 试试。