自动审核指让 AI 当“内容安全员”,自动帮你检查内容合不合规。
当用户发送/上传一段文字、图片、视频时,大模型自己读、自己看,然后判断内容是否存在如下违规:
有没有骂人、脏话
有没有造谣、诈骗
有没有色情、暴力
有没有违规违法内容
....更多,可以自定义的...
当大模型判断到内容不合规就拦住或提醒,合规就放行。
使用自动审核,就不用人一个个去看,快、准、省人力。而且,更实时、秒级判断。还能理解语气、语境、暗语,不只是查关键词。越用越准,会不断学习。
简单说:AI 自动把关内容,就是大模型自动审核。
人工智能服务能够自动执行内容审核。当检测到不当内容时,会抛出一个 ModerationException,其中包含原始的 Moderation 对象。该对象包含有关被标记内容的信息,例如被标记的具体文本。
构建 AI 服务时可以配置自动审核:
Assistant assistant = AiServices.builder(Assistant.class)
.chatModel(model)
.moderationModel(moderationModel) // 配置审核模型
.build();常用的自动审核模型有:
国内中文 UGC / 社交 / 短视频:优先选豆包、通义千问、文心、混元(合规 + 中文强)
开源私有化、低成本:选 Qwen3-Guard、Llama-Guard
出海 / 英文为主:选 OpenAI Moderation、Claude、Perspective
追求极致准确率:选 DeepSeek-R1、Claude 3 Opus
下面是一个关于自动审核的完整示例:
package com.hxstrive.langchain4j.aiServices;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.moderation.Moderation;
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.model.openai.OpenAiModerationModel;
import dev.langchain4j.model.output.Response;
import dev.langchain4j.service.AiServices;
public class SimpleAutoModerationDemo {
// 推荐:将OPEN_API_KEY设置成环境变量, 避免硬编码或随着代码泄露
// 注意,设置完环境变量记得重启IDEA,不然可能环境变量不会生效
private static final String API_KEY = System.getenv("OPEN_API_KEY");
// 定义业务接口
interface Assistant {
String chat(String userMessage);
}
public static void main(String[] args) {
// 创建自动审核模型
OpenAiModerationModel moderationModel = OpenAiModerationModel.builder()
.baseUrl("https://api.xty.app/v1")
.apiKey(API_KEY)
.modelName("gpt-4")
.logRequests(true)
.logResponses(true)
.build();
// 创建聊天模型
ChatModel chatModel = OpenAiChatModel.builder()
.baseUrl("https://api.xty.app/v1")
.apiKey(API_KEY)
.modelName("gpt-4.1-mini")
.logRequests(true)
.logResponses(true)
.build();
// 使用 AiServices 创建服务
Assistant assistant = AiServices.builder(Assistant.class)
.chatModel(chatModel) // 设置聊天模型
.moderationModel(moderationModel) // 设置自动审核模型
.build();
// 发起对话
final String userMessage = "我将要杀了你...";
// 自动审核
Response<Moderation> response = moderationModel.moderate(userMessage);
Moderation moderation = response.content();
if(moderation.flagged()) {
System.err.println("内容被审核拒绝:" + moderation.flaggedText());
} else {
String answer = assistant.chat(userMessage);
System.out.println(answer);
}
}
}运行示例,输出日志如下:
..更多 LangChain4j 知识请阅读后续教程……