AI Services:自动审核(Auto-Moderation)

自动审核指让 AI 当“内容安全员”,自动帮你检查内容合不合规。

当用户发送/上传一段文字、图片、视频时,大模型自己读、自己看,然后判断内容是否存在如下违规:

  • 有没有骂人、脏话

  • 有没有造谣、诈骗

  • 有没有色情、暴力

  • 有没有违规违法内容

  • ....更多,可以自定义的...

当大模型判断到内容不合规就拦住或提醒,合规就放行。

使用自动审核,就不用人一个个去看,快、准、省人力。而且,更实时、秒级判断。还能理解语气、语境、暗语,不只是查关键词。越用越准,会不断学习。

简单说: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 知识请阅读后续教程……

  

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号