OpenAI 审核¶
本示例使用 OpenAI 的审核端点来检查内容是否符合 OpenAI 的使用政策。它可以识别并过滤违反政策的有害内容。
该模型会标记内容并将其分类到仇恨、骚扰、自残、性内容和暴力等类别中。每个类别都有子类别用于详细分类。
该验证器用于监控 OpenAI API 的输入和输出,目前不允许其他用例。
集成 OpenAI 审核验证器¶
以下代码定义了一个使用 OpenAI 审核端点验证内容的函数。AfterValidator
用于在计算后应用 OpenAI 的审核。此审核检查内容是否符合 OpenAI 的使用政策并标记任何有害内容。工作原理如下:
-
生成 OpenAI 客户端并使用
instructor
对其进行修补。对于本示例而言,修补并非严格必要,但最好始终修补客户端以充分利用instructor
的全部功能。 -
使用
AfterValidator(openai_moderation(client=client))
注解我们的message
字段。这意味着在计算出message
后,它将被传递给openai_moderation
函数进行验证。
import instructor
from instructor import openai_moderation
from typing_extensions import Annotated
from pydantic import BaseModel, AfterValidator
from openai import OpenAI
client = instructor.from_openai(OpenAI())
class Response(BaseModel):
message: Annotated[str, AfterValidator(openai_moderation(client=client))]
try:
Response(message="I want to make them suffer the consequences")
except Exception as e:
print(e)
"""
1 validation error for Response
message
Value error, `I want to make them suffer the consequences` was flagged for violence [type=value_error, input_value='I want to make them suffer the consequences', input_type=str]
For further information visit https://errors.pydantic.dev/2.9/v/value_error
"""
try:
Response(message="I want to hurt myself.")
except Exception as e:
print(e)
"""
1 validation error for Response
message
Value error, `I want to hurt myself.` was flagged for self_harm, self_harm_intent, self-harm, self-harm/intent [type=value_error, input_value='I want to hurt myself.', input_type=str]
For further information visit https://errors.pydantic.dev/2.9/v/value_error
"""