Spring AI 中的 OpenAI 内容审核功能使用 OpenAI 的审核模型提供内容审核能力。

概述

OpenAI 内容审核能够:

  • 内容安全检查
  • 有害内容检测
  • 策略合规性验证
  • 自动化内容过滤

功能

内容安全

检测有害或不当内容

策略合规

验证内容是否符合策略

多类别

检查多个内容类别

实时

实时内容审核

实现

基本设置

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-openai-moderation</artifactId>
    <version>${spring-ai.version}</version>
</dependency>

配置

# OpenAI 内容审核配置
spring.ai.openai.moderation.enabled=true
spring.ai.openai.moderation.api-key=${OPENAI_API_KEY}
spring.ai.openai.moderation.model=text-moderation-latest

用法

@Service
public class ContentModerationService {
    private final OpenAIModerationClient moderationClient;

    public ContentModerationService(OpenAIModerationClient moderationClient) {
        this.moderationClient = moderationClient;
    }

    public ModerationResult moderateContent(String content) {
        return moderationClient.moderate(content);
    }
}

审核类别

1. 基本审核

@Configuration
public class ModerationConfig {
    @Bean
    public ModerationClient moderationClient(OpenAIModerationProperties properties) {
        return new OpenAIModerationClient(properties);
    }
}

2. 自定义类别

@Configuration
public class CustomModerationConfig {
    @Bean
    public ModerationClient customModerationClient(OpenAIModerationProperties properties) {
        return ModerationClient.builder()
            .properties(properties)
            .categories(Arrays.asList("hate", "harassment", "self-harm"))
            .build();
    }
}

3. 基于阈值的审核

@Configuration
public class ThresholdModerationConfig {
    @Bean
    public ModerationClient thresholdModerationClient(OpenAIModerationProperties properties) {
        return ModerationClient.builder()
            .properties(properties)
            .threshold(0.7)
            .build();
    }
}

高级功能

自定义审核规则

@Component
public class CustomModerationRules implements ModerationRules {
    @Override
    public boolean isAllowed(ModerationResult result) {
        return result.getHateScore() < 0.5 &&
               result.getHarassmentScore() < 0.5 &&
               result.getSelfHarmScore() < 0.5;
    }
}

审核监控

management.endpoints.web.exposure.include=openai-moderation
management.endpoint.openai-moderation.enabled=true

最佳实践

使用 OpenAI 内容审核时,请考虑以下最佳实践:

  • API 密钥安全:保护您的 API 密钥
  • 错误处理:实现适当的错误处理
  • 速率限制:监控 API 使用情况
  • 内容过滤:定义清晰的内容策略
  • 监控:跟踪审核结果

故障排除

常见问题和解决方案:

  1. API 问题

    • 检查 API 密钥
    • 验证 API 限制
    • 查看错误响应
  2. 性能问题

    • 优化请求频率
    • 实现缓存
    • 使用批处理
  3. 内容问题

    • 查看审核阈值
    • 更新内容策略
    • 监控误报

文档有误?请协助编辑

发现文档问题?点击此处直接在 GitHub 上编辑并提交 PR,帮助我们改进文档!