use crate::core::audio::types::{
SpeechRequest, SpeechResponse, TranscriptionRequest, TranscriptionResponse, TranslationRequest,
TranslationResponse,
};
use crate::core::providers::{Provider, ProviderError};
use crate::core::traits::provider::llm_provider::trait_definition::LLMProvider;
use crate::core::types::context::RequestContext;
impl Provider {
pub async fn audio_transcription(
&self,
request: TranscriptionRequest,
context: RequestContext,
) -> Result<TranscriptionResponse, ProviderError> {
dispatch_provider!(async_err, self, audio_transcription, request, context)
}
pub async fn audio_translation(
&self,
request: TranslationRequest,
context: RequestContext,
) -> Result<TranslationResponse, ProviderError> {
dispatch_provider!(async_err, self, audio_translation, request, context)
}
pub async fn text_to_speech(
&self,
request: SpeechRequest,
context: RequestContext,
) -> Result<SpeechResponse, ProviderError> {
dispatch_provider!(async_err, self, text_to_speech, request, context)
}
}