use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GraderMultiGradersValue {
#[serde(rename = "string_check")]
StringCheck(Box<models::GraderStringCheck>),
#[serde(rename = "text_similarity")]
TextSimilarity(Box<models::GraderTextSimilarity>),
#[serde(rename = "python")]
Python(Box<models::GraderPython>),
#[serde(rename = "score_model")]
ScoreModel(Box<models::GraderScoreModel>),
#[serde(rename = "label_model")]
LabelModel(Box<models::GraderLabelModel>),
}
impl Default for GraderMultiGradersValue {
fn default() -> Self {
Self::StringCheck(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Operation {
Eq,
Ne,
Like,
Ilike,
}
impl Default for Operation {
fn default() -> Operation {
Self::Eq
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EvaluationMetric {
Cosine,
FuzzyMatch,
Bleu,
Gleu,
Meteor,
Rouge1,
Rouge2,
Rouge3,
Rouge4,
Rouge5,
RougeL,
}
impl Default for EvaluationMetric {
fn default() -> EvaluationMetric {
Self::Cosine
}
}