qai-sdk 0.1.26

Universal Rust SDK for AI Providers
Documentation
//! # QAI SDK
//!
//! Universal Rust SDK for AI Providers.
//!
//! Provides a unified trait `LanguageModel` implemented across various AI providers.
//!
//! ## Features
//! Enable the providers you need via Cargo features:
//! - `openai`
//! - `anthropic`
//! - `google`
//! - `deepseek`
//! - `xai`
//! - `ollama`
//! - `openai-compatible`

pub mod core;

#[cfg(feature = "openai")]
pub mod openai;

#[cfg(feature = "anthropic")]
pub mod anthropic;

#[cfg(feature = "google")]
pub mod google;

#[cfg(feature = "deepseek")]
pub mod deepseek;

#[cfg(feature = "xai")]
pub mod xai;

#[cfg(feature = "ollama")]
pub mod ollama;

#[cfg(feature = "openai-compatible")]
pub mod openai_compatible;

#[cfg(feature = "groqcloud")]
pub mod groqcloud;

#[cfg(feature = "mcp")]
pub mod mcp;

#[cfg(test)]
pub mod test_utils;

pub use crate::core::types::*;
pub use crate::core::*;

pub mod prelude {
    pub use crate::core::types::*;
    pub use crate::core::*;
    
    #[cfg(feature = "openai")]
    pub use crate::openai::{create_openai, OpenAIModel};
    
    #[cfg(feature = "anthropic")]
    pub use crate::anthropic::{create_anthropic, AnthropicModel};
    
    #[cfg(feature = "google")]
    pub use crate::google::{create_google, GoogleModel};
    
    #[cfg(feature = "deepseek")]
    pub use crate::deepseek::{create_deepseek, DeepSeekModel};
    
    #[cfg(feature = "xai")]
    pub use crate::xai::{create_xai, XAIModel};
    
    #[cfg(feature = "ollama")]
    pub use crate::ollama::{create_ollama, OllamaModel};
    
    #[cfg(feature = "openai-compatible")]
    pub use crate::openai_compatible::{create_openai_compatible, OpenAICompatibleModel};
    
    #[cfg(feature = "groqcloud")]
    pub use crate::groqcloud::{create_groqcloud, GroqCloudModel};
}

// Export all providers if their features are enabled
#[cfg(feature = "openai")]
pub use crate::openai::create_openai;

#[cfg(feature = "anthropic")]
pub use crate::anthropic::create_anthropic;

#[cfg(feature = "google")]
pub use crate::google::create_google;

#[cfg(feature = "deepseek")]
pub use crate::deepseek::create_deepseek;

#[cfg(feature = "xai")]
pub use crate::xai::create_xai;

#[cfg(feature = "ollama")]
pub use crate::ollama::create_ollama;

#[cfg(feature = "openai-compatible")]
pub use crate::openai_compatible::{create_openai_compatible, OpenAICompatibleProviderSettings};

#[cfg(feature = "groqcloud")]
pub use crate::groqcloud::create_groqcloud;

#[cfg(feature = "openai")]
pub use crate::openai::OpenAIModel;

#[cfg(feature = "anthropic")]
pub use crate::anthropic::AnthropicModel;

#[cfg(feature = "google")]
pub use crate::google::GoogleModel;

#[cfg(feature = "deepseek")]
pub use crate::deepseek::DeepSeekModel;

#[cfg(feature = "xai")]
pub use crate::xai::XAIModel;

#[cfg(feature = "ollama")]
pub use crate::ollama::OllamaModel;

#[cfg(feature = "openai-compatible")]
pub use crate::openai_compatible::OpenAICompatibleModel;

#[cfg(feature = "groqcloud")]
pub use crate::groqcloud::GroqCloudModel;