Documentation
¶
Overview ¶
包 moderation 提供统一的内容审核服务抽象,用于检测文本和图像中的 违规内容,支持多种审核类别与置信度评分。
概述 ¶
本包定义了内容审核的核心接口与数据模型,屏蔽不同审核服务商在 API 协议和分类体系上的差异。当前内置 OpenAI Moderation API 适配, 支持纯文本与多模态(文本 + 图像)混合审核。
核心接口 ¶
- ModerationProvider:审核提供者接口,包含 Name 与 Moderate 两个方法。
- ModerationRequest:审核请求,支持文本列表与 Base64 图像列表。
- ModerationResponse:审核响应,包含提供者、模型与结果列表。
- ModerationResult:单条输入的审核结果,包含标记状态、分类与评分。
- ModerationCategory:布尔型分类标记(hate、harassment、 self-harm、sexual、violence、illicit 等 11 个类别)。
- ModerationScores:各类别的置信度评分(float64)。
主要能力 ¶
- 文本审核:对文本列表进行违规检测,返回逐条标记与评分。
- 多模态审核:同时审核文本与 Base64 编码图像。
- 多类别检测:覆盖仇恨、骚扰、自残、色情、暴力、非法等类别。
- 配置体系:OpenAIConfig 提供 API Key、BaseURL、Model 与 Timeout 配置,DefaultOpenAIConfig 返回合理默认值。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ModerationCategory ¶
type ModerationCategory struct {
Hate bool `json:"hate"`
HateThreatening bool `json:"hate_threatening"`
Harassment bool `json:"harassment"`
SelfHarm bool `json:"self_harm"`
SelfHarmIntent bool `json:"self_harm_intent"`
Sexual bool `json:"sexual"`
SexualMinors bool `json:"sexual_minors"`
Violence bool `json:"violence"`
ViolenceGraphic bool `json:"violence_graphic"`
Illicit bool `json:"illicit"`
IllicitViolent bool `json:"illicit_violent"`
}
中度类别表示标出哪些类别 。
type ModerationProvider ¶
type ModerationProvider interface {
Name() string
Moderate(ctx context.Context, req *ModerationRequest) (*ModerationResponse, error)
}
调和 Provider 为内容节制定义了接口.
type ModerationRequest ¶
type ModerationRequest struct {
Input []string `json:"input"` // Text inputs to moderate
Images []string `json:"images,omitempty"` // Base64 images (optional)
Model string `json:"model,omitempty"` // Model to use
}
温和请求是温和请求。
type ModerationResponse ¶
type ModerationResponse struct {
Provider string `json:"provider"`
Model string `json:"model"`
Results []ModerationResult `json:"results"`
CreatedAt time.Time `json:"created_at"`
}
温和反应是一种温和的反应。
type ModerationResult ¶
type ModerationResult struct {
Flagged bool `json:"flagged"`
Categories ModerationCategory `json:"categories"`
Scores ModerationScores `json:"scores"`
}
中度Result代表单一输入的结果.
type ModerationScores ¶
type ModerationScores struct {
Hate float64 `json:"hate"`
HateThreatening float64 `json:"hate_threatening"`
Harassment float64 `json:"harassment"`
SelfHarm float64 `json:"self_harm"`
SelfHarmIntent float64 `json:"self_harm_intent"`
Sexual float64 `json:"sexual"`
SexualMinors float64 `json:"sexual_minors"`
Violence float64 `json:"violence"`
ViolenceGraphic float64 `json:"violence_graphic"`
Illicit float64 `json:"illicit"`
IllicitViolent float64 `json:"illicit_violent"`
}
中调分数包含每个类别的信心分数.
type OpenAIConfig ¶
type OpenAIConfig struct {
APIKey string `json:"api_key" yaml:"api_key"`
BaseURL string `json:"base_url" yaml:"base_url"`
Model string `json:"model,omitempty" yaml:"model,omitempty"`
Timeout time.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}
OpenAIConfig 配置 OpenAI 节奏提供者 。
func DefaultOpenAIConfig ¶
func DefaultOpenAIConfig() OpenAIConfig
默认 OpenAIConfig 返回默认 OpenAI 温和配置 。
type OpenAIProvider ¶
type OpenAIProvider struct {
// contains filtered or unexported fields
}
OpenAIProvider使用OpenAI API执行节制.
func NewOpenAIProvider ¶
func NewOpenAIProvider(cfg OpenAIConfig) *OpenAIProvider
NewOpenAIProvider创建了一个新的OpenAI温和提供商.
func (*OpenAIProvider) Moderate ¶
func (p *OpenAIProvider) Moderate(ctx context.Context, req *ModerationRequest) (*ModerationResponse, error)
适度检查政策违规内容.
func (*OpenAIProvider) Name ¶
func (p *OpenAIProvider) Name() string
Click to show internal directories.
Click to hide internal directories.