// This file is @generated by prost-build.
#[derive(
    serde::Serialize,
    serde::Deserialize,
    Clone,
    Copy,
    Debug,
    PartialEq,
    Eq,
    Hash,
    PartialOrd,
    Ord,
    ::prost::Enumeration,
)]
#[repr(i32)]
pub enum AiModel {
    AllMiniLmL6V2 = 0,
    AllMiniLmL12V2 = 1,
    BgeBaseEnV15 = 2,
    BgeLargeEnV15 = 3,
    Resnet50 = 4,
    ClipVitB32Image = 5,
    ClipVitB32Text = 6,
}
impl AiModel {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AllMiniLmL6V2 => "ALL_MINI_LM_L6_V2",
            Self::AllMiniLmL12V2 => "ALL_MINI_LM_L12_V2",
            Self::BgeBaseEnV15 => "BGE_BASE_EN_V15",
            Self::BgeLargeEnV15 => "BGE_LARGE_EN_V15",
            Self::Resnet50 => "RESNET50",
            Self::ClipVitB32Image => "CLIP_VIT_B32_IMAGE",
            Self::ClipVitB32Text => "CLIP_VIT_B32_TEXT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALL_MINI_LM_L6_V2" => Some(Self::AllMiniLmL6V2),
            "ALL_MINI_LM_L12_V2" => Some(Self::AllMiniLmL12V2),
            "BGE_BASE_EN_V15" => Some(Self::BgeBaseEnV15),
            "BGE_LARGE_EN_V15" => Some(Self::BgeLargeEnV15),
            "RESNET50" => Some(Self::Resnet50),
            "CLIP_VIT_B32_IMAGE" => Some(Self::ClipVitB32Image),
            "CLIP_VIT_B32_TEXT" => Some(Self::ClipVitB32Text),
            _ => None,
        }
    }
}
/// Enum for AI Store Input Types
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AiStoreInputType {
    RawString = 0,
    Image = 1,
}
impl AiStoreInputType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RawString => "RAW_STRING",
            Self::Image => "IMAGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAW_STRING" => Some(Self::RawString),
            "IMAGE" => Some(Self::Image),
            _ => None,
        }
    }
}
