openai_types/moderation/
_gen.rs1#![allow(unused_imports)]
5
6use serde::{Deserialize, Serialize};
7use super::*;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
11#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
12pub struct CategoryAppliedInputTypes {
13 pub harassment: Vec<String>,
15 #[serde(rename = "harassment/threatening")]
17 pub harassment_threatening: Vec<String>,
18 pub hate: Vec<String>,
20 #[serde(rename = "hate/threatening")]
22 pub hate_threatening: Vec<String>,
23 pub illicit: Vec<String>,
25 #[serde(rename = "illicit/violent")]
27 pub illicit_violent: Vec<String>,
28 #[serde(rename = "self-harm")]
30 pub self_harm: Vec<serde_json::Value>,
31 #[serde(rename = "self-harm/instructions")]
33 pub self_harm_instructions: Vec<serde_json::Value>,
34 #[serde(rename = "self-harm/intent")]
36 pub self_harm_intent: Vec<serde_json::Value>,
37 pub sexual: Vec<serde_json::Value>,
39 #[serde(rename = "sexual/minors")]
41 pub sexual_minors: Vec<String>,
42 pub violence: Vec<serde_json::Value>,
44 #[serde(rename = "violence/graphic")]
46 pub violence_graphic: Vec<serde_json::Value>,
47}
48
49#[derive(Debug, Clone, Serialize, Deserialize)]
50#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
51pub struct ModerationCreateParams {
52 pub input: serde_json::Value,
54 #[serde(skip_serializing_if = "Option::is_none", default)]
56 pub model: Option<String>,
57}
58
59#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
60#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
61#[non_exhaustive]
62pub enum ModerationModel {
63 #[serde(rename = "omni-moderation-latest")]
64 OmniModerationLatest,
65 #[serde(rename = "omni-moderation-2024-09-26")]
66 OmniModeration20240926,
67 #[serde(rename = "text-moderation-latest")]
68 TextModerationLatest,
69 #[serde(rename = "text-moderation-stable")]
70 TextModerationStable,
71}