应用场景
内容审核
决定放行、复核还是移除,并对真实威胁单独打标记。
问题
关键词过滤器对俚语过度拦截,却漏掉伪装成玩笑的人肉搜索。
代码拿到答案后怎么做
高置信违规立即移除。其余排队交给审核员。
内容审核真正需要的两个问题
一个 choice — 放行、复核还是移除 — 携带政策立场;一个 noul 单独询问评论是否针对某人鼓吹骚扰或暴力。拆开它们很重要:示例评论的粗鲁不过是网络评论常见的粗鲁,而“去他家门口堵他”的条款让它成为需要打威胁标记的移除。一个问题会把这道区分压扁;两个问题保住它,并给出概率让审核员看见有争议的案例,而不是被静默贴错标签。
从概率到执行
高置信的移除立即移除;其余带着分布排队交给审核员 — 一个 50/50 的放行/复核分裂正是审核员接下来最想看到的条目。即使动作读作放行,也让威胁标记照常触发:骚扰信号无论内容落在哪一档,都驱动升级与用户安全路径。阈值误伤时,修的是 criteria 措辞,而不是那个数字。
内容审核专属的坑
审核 criteria 会随俚语漂移 — 以固定周期复审放行/复核/移除的措辞。当心对争议案例的一次性处理:一个 45/55 的放行-复核分裂被你静默标成“放行”,正是复核队列恰恰在最关键处被绕过的方式。在争议区间上保留人工,并记录分布,让后续误判里的模式保持可见。
请求结构
这是 playground 为该预设发送的完整请求 — 与你的服务器带 Bearer key 发往 /v1/systemone 的 JSON 相同。
curl
curl https://jevai.website/api/v1/systemone \
-H "Authorization: Bearer $JEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "lol this guy has no idea what he is talking about, someone should dox him and show up at his house",
"questions": {
"action": {
"type": "choice",
"instructions": "What should happen to this comment?",
"criteria": {
"allow": "Acceptable, even if rude",
"review": "Borderline, needs a moderator",
"remove": "Clear policy violation"
}
},
"threat": {
"type": "noul",
"instructions": "Does the comment encourage harassment or violence against a person?"
}
}
}'关于此用例的常见问题
- 内容审核需要完整对话串吗?
- 通常需要 — 有了上几条父评论,反讽与上下文的读法完全不同。state 上限 100,000 字符,所以带上上下文很便宜:反正都是一次请求。
- 它能识别有组织的骚扰行动吗?
- 不能 — 它一次只判定一条内容。行动团模式需要在你的平台侧做聚合;类型化决策仍可为那条管道供料。逐条存储威胁标记,再跨账号分析。
- 图片呢?
- 这个调用不支持 — Jev 只处理文本。把文本经过 OCR 或转写放进 state,同样的决策结构照样工作。