Skip to main content

oxirs_vec/embeddings/
openaiconfig_traits.rs

1//! # OpenAIConfig - Trait Implementations
2//!
3//! This module contains trait implementations for `OpenAIConfig`.
4//!
5//! ## Implemented Traits
6//!
7//! - `Default`
8//!
9//! 🤖 Generated with [SplitRS](https://github.com/cool-japan/splitrs)
10
11use super::types::{OpenAIConfig, RetryStrategy};
12
13impl Default for OpenAIConfig {
14    fn default() -> Self {
15        Self {
16            api_key: std::env::var("OPENAI_API_KEY").unwrap_or_default(),
17            model: "text-embedding-3-small".to_string(),
18            base_url: "https://api.openai.com/v1".to_string(),
19            timeout_seconds: 30,
20            requests_per_minute: 3000,
21            batch_size: 100,
22            enable_cache: true,
23            cache_size: 10000,
24            cache_ttl_seconds: 3600,
25            max_retries: 3,
26            retry_delay_ms: 1000,
27            retry_strategy: RetryStrategy::ExponentialBackoff,
28            track_costs: true,
29            enable_metrics: true,
30            user_agent: "oxirs-vec/0.1.0".to_string(),
31        }
32    }
33}