async_openai/types/shared/
moderation.rs1#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
3pub struct ModerationConfigParam {
4 pub mode: ModerationMode,
5}
6
7#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
8pub enum ModerationInputType {
9 #[serde(rename = "text")]
10 Text,
11 #[serde(rename = "image")]
12 Image,
13}
14
15#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
16pub enum ModerationMode {
17 #[serde(rename = "score")]
18 Score,
19 #[serde(rename = "block")]
20 Block,
21}
22
23#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
25pub struct ModerationParam {
26 pub model: String,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub policy: Option<ModerationPolicyParam>,
30}
31
32#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
34pub struct ModerationPolicyParam {
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub input: Option<ModerationConfigParam>,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub output: Option<ModerationConfigParam>,
39}
40
41#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
43pub struct ModerationResultBody {
44 pub model: String,
46 pub flagged: bool,
48 pub categories: std::collections::HashMap<String, bool>,
50 pub category_scores: std::collections::HashMap<String, f64>,
52 pub category_applied_input_types: std::collections::HashMap<String, Vec<ModerationInputType>>,
54}