OpenAI内容政策旨在确保AI技术的安全、负责任使用,以下是需要重点关注的核心领域
禁止生成涉及非法活动的内容,包括但不限于毒品制造、武器交易、网络攻击指导等。
禁止基于种族、性别、宗教、性取向等身份特征产生歧视性或仇恨性内容。
不得收集、处理或生成涉及个人隐私信息的内容,包括地址、电话、身份证号等。
禁止生成色情、性暗示或其他不适合未成年人的成人内容。
避免生成误导性信息、虚假新闻或可能造成公众恐慌的不实内容。
禁止生成垃圾邮件、营销欺诈、SEO操纵等垃圾或欺骗性内容。
根据违规严重程度,内容被分为不同等级,触发相应处理措施
标准化的内容审核工作流,确保高效准确地识别和处理违规内容
API请求到达网关,提取用户输入内容进行预处理
使用多模型分类器进行语义分析和风险评估
根据风险等级决定放行、拒绝或人工审核
记录审核结果、用户行为和系统响应
通过API Gateway实现内容政策的自动化检测与过滤
from openai import OpenAI
import logging
client = OpenAI()
class ContentModerator:
"""内容审核中间件"""
def __init__(self, threshold=0.8):
self.threshold = threshold
self.blocked_categories = [
'hate', 'harassment', 'self-harm',
'sexual', 'violence', 'illegal'
]
async def moderate(self, content: str) -> dict:
"""执行内容审核"""
try:
response = client.moderations.create(
model="omni-moderation-latest",
input=content
)
result = response.results[0]
# 检查各类别违规分数
violations = []
for category in self.blocked_categories:
score = getattr(result.category_scores, category, 0)
if score > self.threshold:
violations.append({
'category': category,
'score': score,
'flagged': True
})
return {
'flagged': result.flagged,
'violations': violations,
'safe': not result.flagged
}
except Exception as e:
logging.error(f"审核失败: {e}")
return {'safe': False, 'error': str(e)}
# 使用示例
moderator = ContentModerator(threshold=0.7)
result = await moderator.moderate(user_input)
if not result['safe']:
raise ContentPolicyViolation(result['violations'])
违规判定阈值,建议生产环境设置0.7-0.8
需要拦截的内容类别列表
审核失败时的默认处理方式
审核结果缓存时间,减少重复调用