glopenai/moderation
Types
Whether each category was flagged. Field names use slashes in JSON (e.g. “hate/threatening”), mapped to underscore-separated names in Gleam.
pub type Categories {
Categories(
hate: Bool,
hate_threatening: Bool,
harassment: Bool,
harassment_threatening: Bool,
illicit: Bool,
illicit_violent: Bool,
self_harm: Bool,
self_harm_intent: Bool,
self_harm_instructions: Bool,
sexual: Bool,
sexual_minors: Bool,
violence: Bool,
violence_graphic: Bool,
)
}
Constructors
-
Categories( hate: Bool, hate_threatening: Bool, harassment: Bool, harassment_threatening: Bool, illicit: Bool, illicit_violent: Bool, self_harm: Bool, self_harm_intent: Bool, self_harm_instructions: Bool, sexual: Bool, sexual_minors: Bool, violence: Bool, violence_graphic: Bool, )
Which input types were applied to each category.
pub type CategoryAppliedInputTypes {
CategoryAppliedInputTypes(
hate: List(ModInputType),
hate_threatening: List(ModInputType),
harassment: List(ModInputType),
harassment_threatening: List(ModInputType),
illicit: List(ModInputType),
illicit_violent: List(ModInputType),
self_harm: List(ModInputType),
self_harm_intent: List(ModInputType),
self_harm_instructions: List(ModInputType),
sexual: List(ModInputType),
sexual_minors: List(ModInputType),
violence: List(ModInputType),
violence_graphic: List(ModInputType),
)
}
Constructors
-
CategoryAppliedInputTypes( hate: List(ModInputType), hate_threatening: List(ModInputType), harassment: List(ModInputType), harassment_threatening: List(ModInputType), illicit: List(ModInputType), illicit_violent: List(ModInputType), self_harm: List(ModInputType), self_harm_intent: List(ModInputType), self_harm_instructions: List(ModInputType), sexual: List(ModInputType), sexual_minors: List(ModInputType), violence: List(ModInputType), violence_graphic: List(ModInputType), )
Confidence scores for each category.
pub type CategoryScore {
CategoryScore(
hate: Float,
hate_threatening: Float,
harassment: Float,
harassment_threatening: Float,
illicit: Float,
illicit_violent: Float,
self_harm: Float,
self_harm_intent: Float,
self_harm_instructions: Float,
sexual: Float,
sexual_minors: Float,
violence: Float,
violence_graphic: Float,
)
}
Constructors
-
CategoryScore( hate: Float, hate_threatening: Float, harassment: Float, harassment_threatening: Float, illicit: Float, illicit_violent: Float, self_harm: Float, self_harm_intent: Float, self_harm_instructions: Float, sexual: Float, sexual_minors: Float, violence: Float, violence_graphic: Float, )
A single moderation result for one input.
pub type ContentModerationResult {
ContentModerationResult(
flagged: Bool,
categories: Categories,
category_scores: CategoryScore,
category_applied_input_types: CategoryAppliedInputTypes,
)
}
Constructors
-
ContentModerationResult( flagged: Bool, categories: Categories, category_scores: CategoryScore, category_applied_input_types: CategoryAppliedInputTypes, )
Request to create a moderation.
pub type CreateModerationRequest {
CreateModerationRequest(
input: ModerationInput,
model: option.Option(String),
)
}
Constructors
-
CreateModerationRequest( input: ModerationInput, model: option.Option(String), )
Response from creating a moderation.
pub type CreateModerationResponse {
CreateModerationResponse(
id: String,
model: String,
results: List(ContentModerationResult),
)
}
Constructors
-
CreateModerationResponse( id: String, model: String, results: List(ContentModerationResult), )
The type of input that was moderated.
pub type ModInputType {
TextInput
ImageInput
}
Constructors
-
TextInput -
ImageInput
A content part for multi-modal moderation input, tagged by “type”.
pub type ModerationContentPart {
TextPart(text: String)
ImageUrlPart(image_url: String)
}
Constructors
-
TextPart(text: String) -
ImageUrlPart(image_url: String)
Input for moderation requests. Mirrors the Rust ModerationInput untagged enum.
pub type ModerationInput {
StringInput(String)
StringArrayInput(List(String))
MultiModalInput(List(ModerationContentPart))
}
Constructors
-
StringInput(String) -
StringArrayInput(List(String)) -
MultiModalInput(List(ModerationContentPart))
Values
pub fn categories_decoder() -> decode.Decoder(Categories)
pub fn categories_to_json(categories: Categories) -> json.Json
pub fn category_applied_input_types_decoder() -> decode.Decoder(
CategoryAppliedInputTypes,
)
pub fn category_applied_input_types_to_json(
types: CategoryAppliedInputTypes,
) -> json.Json
pub fn category_score_decoder() -> decode.Decoder(CategoryScore)
pub fn category_score_to_json(scores: CategoryScore) -> json.Json
pub fn content_moderation_result_decoder() -> decode.Decoder(
ContentModerationResult,
)
pub fn create_moderation_request_to_json(
request: CreateModerationRequest,
) -> json.Json
pub fn create_request(
config: config.Config,
params: CreateModerationRequest,
) -> request.Request(String)
Build a request to create a moderation.
pub fn create_response(
response: response.Response(String),
) -> Result(CreateModerationResponse, error.GlopenaiError)
Parse the response from creating a moderation.
pub fn mod_input_type_decoder() -> decode.Decoder(ModInputType)
pub fn mod_input_type_to_json(
input_type: ModInputType,
) -> json.Json
pub fn moderation_content_part_decoder() -> decode.Decoder(
ModerationContentPart,
)
pub fn moderation_content_part_to_json(
part: ModerationContentPart,
) -> json.Json
pub fn moderation_input_decoder() -> decode.Decoder(
ModerationInput,
)
pub fn moderation_input_to_json(
input: ModerationInput,
) -> json.Json
pub fn new_create_request(
input input: ModerationInput,
) -> CreateModerationRequest
Create a new moderation request with the required input.
pub fn with_model(
request: CreateModerationRequest,
model: String,
) -> CreateModerationRequest
Set the moderation model.