artificial-openai 0.7.0

OpenAI backend adapter for the Artificial prompt-engineering SDK
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::{future::Future, pin::Pin, sync::Arc};

use artificial_core::{
    error::Result,
    provider::{TranscriptionProvider, TranscriptionRequest, TranscriptionResult},
};

use crate::OpenAiAdapter;

impl TranscriptionProvider for OpenAiAdapter {
    fn transcribe<'s>(
        &'s self,
        request: TranscriptionRequest,
    ) -> Pin<Box<dyn Future<Output = Result<TranscriptionResult>> + Send + 's>> {
        let client = Arc::clone(&self.client);
        Box::pin(async move { Ok(client.audio_transcription(request).await?) })
    }
}