use crate::
{
error::Result,
audio::{ Audio, AudioInput, AudioClassificationResult },
environment::HuggingFaceEnvironment,
components::input::BinaryClassificationInput,
};
impl< E > Audio< E >
where
E : HuggingFaceEnvironment + crate::environment::EnvironmentInterface + Send + Sync + 'static + Clone,
{
#[ inline ]
pub async fn classify_audio(
&self,
audio : AudioInput,
model : impl AsRef< str >
) -> Result< Vec< AudioClassificationResult > >
{
let request = BinaryClassificationInput
{
inputs : audio.to_base64(),
};
let endpoint = format!( "/models/{}", model.as_ref() );
let url = self.client.environment.endpoint_url( &endpoint )?;
let results : Vec< AudioClassificationResult > = self.client
.post( url.as_str(), &request )
.await?;
Ok( results )
}
}