api
内容 Moderation 安全分类 API
直接答案POST /v1/moderations 返回 flagged、categories 与 category_scores;它是风险信号,不是完整的业务政策或人工审核替代品。
更新 · 审核信息
小白:Moderation 是风险分类,不是最终裁决
POST /v1/moderations 接收 input 并返回每项的 flagged、categories 与 category_scores。本站在省略模型时有兼容默认值,但生产请求建议显式写出经过验证的 omni-moderation-latest 或可用固定快照,避免默认行为变化。Moderation 只覆盖模型定义的类别;账户权限、未成年人保护、隐私、版权、行业规范和平台社区规则仍由业务系统负责。
最小请求与响应读取
curl "$BASE_URL/v1/moderations" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-moderation-latest",
"input": ["待检查的用户文本", "另一条待检查内容"]
}'
响应 results[] 与输入顺序对应。先判断数组长度和字段是否完整,再读取 flagged;保留类别布尔值与分数用于策略和评测,但不要把分数展示成确定概率。批量可降低开销,却会扩大单次失败范围和响应体;设置条数、总字符、token 与请求字节上限。
策略分层与人工复核
将分类结果映射到显式动作,例如允许、提示用户修改、降权、阻止公开发布、隔离、人工复核或紧急升级。高风险类别可以优先阻断,边界分数进入复核队列;不要用一个全局阈值处理所有语言、地区和业务。人工复核界面只展示必要上下文,限制访问并记录查看、决定、申诉和覆盖原因。
输入和输出都需要检查:工具参数、RAG 文档、图片文字和用户生成内容也可能绕过只检查最终文本的策略。若对多模态输入有要求,必须先确认所选模型和本站渠道实际支持对应内容形状;不能因上游官方支持就假设本站所有渠道都已适配。
错误、超时与降级
400 通常是 input 形状、内容类型或模型错误;401/403 是凭据与权限;429 可能是限流、余额或配额;5xx 才适合有限退避重试。Moderation 超时后,按风险级别执行预先批准的 fail-open、fail-closed 或人工队列策略。严禁在异常时默默全量放行,也不要无限重试阻塞主请求。
记录 Request-ID、策略版本、模型、输入哈希、分类摘要、动作、复核状态和延迟;默认不保存完整敏感内容。缓存键包含规范化内容哈希、模型和策略版本,并设置短保留期,防止更新政策后复用旧判定。
专家:校准、漂移与治理证据
用覆盖语言、拼写变体、上下文歧义和对抗绕过的标注集测量每类 precision、recall、误杀率、漏放率、人工队列量和用户申诉翻转率。对 latest 别名升级做影子评测和灰度,监控类别分布与分数漂移。把模型判定、业务策略和人工决定分开版本化,以便解释某次处置;定期演练供应商不可用、模型回退、复核积压和敏感数据删除,确保安全控制有可验证证据而非只写原则。
适用场景
- 在模型调用前筛查高风险输入
- 对模型输出和用户上传内容做分层处置
- 校准阈值并建立人工复核与申诉流程
API 协议
/v1/moderations
FAQ
flagged=false 就一定安全合规吗?
不是。它只表示该模型在当前分类体系下未触发总标记;业务仍需执行年龄、地区、行业、隐私、版权和社区政策。
可以直接使用 category_scores 的固定阈值吗?
不建议照搬。分数并非跨模型稳定概率,应在自己的标注集上按误杀和漏放成本校准,并在模型更新后重新验证。
Moderation 暂时不可用时是否应该放行?
取决于风险等级。高风险写入或公开发布通常应失败关闭或进入人工队列;低风险只读场景可按既定降级策略处理,不能临时拍脑袋。
关联指南
官方来源
- OpenAI Moderation Guide Official
- OpenAI Moderations API Reference Official
兔子API