use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub enum EmbeddingProvider {
Local,
OpenAI,
Mistral,
AzureOpenAI,
Custom(String),
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_embedding_provider_variants() {
let local = EmbeddingProvider::Local;
assert_eq!(local, EmbeddingProvider::Local);
let openai = EmbeddingProvider::OpenAI;
assert_eq!(openai, EmbeddingProvider::OpenAI);
let mistral = EmbeddingProvider::Mistral;
assert_eq!(mistral, EmbeddingProvider::Mistral);
let azure = EmbeddingProvider::AzureOpenAI;
assert_eq!(azure, EmbeddingProvider::AzureOpenAI);
let custom = EmbeddingProvider::Custom("custom-provider".to_string());
assert_eq!(
custom,
EmbeddingProvider::Custom("custom-provider".to_string())
);
assert_ne!(local, openai);
assert_ne!(openai, mistral);
}
}