rig-core 0.36.0

An opinionated library for building LLM powered applications.
Documentation
#[cfg(feature = "audio")]
mod audio {
    use crate::audio_generation::AudioGenerationModel;

    /// A provider client with audio generation capabilities.
    /// Clone is required for conversions between client types.
    pub trait AudioGenerationClient {
        /// The AudioGenerationModel used by the Client
        type AudioGenerationModel: AudioGenerationModel<Client = Self>;

        /// Create an audio generation model with the given name.
        ///
        /// # Example
        /// ```
        /// use rig::providers::openai::{Client, self};
        ///
        /// // Initialize the OpenAI client
        /// let openai = Client::new("your-open-ai-api-key");
        ///
        /// let tts = openai.audio_generation_model(openai::TTS_1);
        /// ```
        fn audio_generation_model(&self, model: impl Into<String>) -> Self::AudioGenerationModel {
            Self::AudioGenerationModel::make(self, model)
        }
    }
}

#[cfg(feature = "audio")]
pub use audio::*;