pub struct OpenRouterConfig {
pub default_model: String,
pub models: ModelConfig,
}
Expand description
Main configuration structure for OpenRouter SDK
Contains the default model to use and model configuration including presets. This structure can be loaded from TOML files or created with sensible defaults.
§Examples
use openrouter_rs::config::OpenRouterConfig;
// Use default configuration with built-in presets
let config = OpenRouterConfig::default();
// Access default model
println!("Default model: {}", config.get_default_model());
Fields§
§default_model: String
The default model to use when no specific model is requested
models: ModelConfig
Model configuration including enabled models and presets
Implementations§
Source§impl OpenRouterConfig
impl OpenRouterConfig
Sourcepub fn resolve_models(&mut self)
pub fn resolve_models(&mut self)
Resolves all preset references in the model configuration
This method expands any preset:name
entries in the enabled models list
to their actual model IDs. This is automatically called when loading
configuration but can be called manually if the configuration is modified.
Sourcepub fn get_default_model(&self) -> &str
pub fn get_default_model(&self) -> &str
Returns the default model ID
§Examples
use openrouter_rs::config::OpenRouterConfig;
let config = OpenRouterConfig::default();
assert_eq!(config.get_default_model(), "deepseek/deepseek-chat-v3-0324:free");
Sourcepub fn get_resolved_models(&self) -> Vec<String>
pub fn get_resolved_models(&self) -> Vec<String>
Returns a list of all resolved (enabled) model IDs
This includes models from expanded presets and individual model IDs. Duplicates are automatically removed during resolution.
§Examples
use openrouter_rs::config::OpenRouterConfig;
let config = OpenRouterConfig::default();
let models = config.get_resolved_models();
assert!(!models.is_empty());
Trait Implementations§
Source§impl Clone for OpenRouterConfig
impl Clone for OpenRouterConfig
Source§fn clone(&self) -> OpenRouterConfig
fn clone(&self) -> OpenRouterConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OpenRouterConfig
impl Debug for OpenRouterConfig
Source§impl Default for OpenRouterConfig
impl Default for OpenRouterConfig
Source§fn default() -> Self
fn default() -> Self
Creates a default configuration with built-in model presets
The default configuration includes:
- Default model:
deepseek/deepseek-chat-v3-0324:free
- Three presets:
programming
,reasoning
, andfree
- Automatic resolution of preset references
§Examples
use openrouter_rs::config::OpenRouterConfig;
let config = OpenRouterConfig::default();
assert_eq!(config.models.presets.len(), 3);
assert!(config.models.presets.contains_key("programming"));
assert!(config.models.presets.contains_key("reasoning"));
assert!(config.models.presets.contains_key("free"));