use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EmbeddingDtype {
#[serde(rename = "float")]
Float,
#[serde(rename = "int8")]
Int8,
#[serde(rename = "uint8")]
Uint8,
#[serde(rename = "binary")]
Binary,
#[serde(rename = "ubinary")]
Ubinary,
}
impl std::fmt::Display for EmbeddingDtype {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Float => write!(f, "float"),
Self::Int8 => write!(f, "int8"),
Self::Uint8 => write!(f, "uint8"),
Self::Binary => write!(f, "binary"),
Self::Ubinary => write!(f, "ubinary"),
}
}
}
impl Default for EmbeddingDtype {
fn default() -> EmbeddingDtype {
Self::Float
}
}