use async_trait::async_trait; use db::types::GraphemeString; use db::{ inference::InferenceError, types::{InferenceService, PhonemeString}, }; use deepphonemizer::Phonemizer; #[derive(Debug)] pub struct DeepPhonemizerInference(pub Phonemizer); #[async_trait] impl InferenceService for DeepPhonemizerInference { async fn fetch(&self, prefix: GraphemeString) -> Result { let pronemized = self .0 .phonemize(prefix.0, "fr_fr".to_string(), "", true, 1).unwrap(); return Ok(PhonemeString( PhonemeString(format!("{:?}", pronemized)).to_string(), )); } }