use config::OpenRouterConfig;
use crate::openai;
pub mod config;
pub type OpenRouter = openai::GenericOpenAI<OpenRouterConfig>;
pub type OpenRouterBuilder = openai::GenericOpenAIBuilder<OpenRouterConfig>;
pub type OpenRouterBuilderError = openai::GenericOpenAIBuilderError;
pub use openai::{Options, OptionsBuilder, OptionsBuilderError};
impl OpenRouter {
pub fn builder() -> OpenRouterBuilder {
OpenRouterBuilder::default()
}
}
impl Default for OpenRouter {
fn default() -> Self {
Self::builder().build().unwrap()
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn test_default_prompt_model() {
let openai = OpenRouter::builder()
.default_prompt_model("llama3.1")
.build()
.unwrap();
assert_eq!(
openai.default_options.prompt_model,
Some("llama3.1".to_string())
);
}
#[test]
fn test_default_models() {
let openrouter = OpenRouter::builder()
.default_prompt_model("llama3.1")
.build()
.unwrap();
assert_eq!(
openrouter.default_options.prompt_model,
Some("llama3.1".to_string())
);
}
#[test]
fn test_building_via_default_prompt_model() {
let mut client = OpenRouter::default();
assert!(client.default_options.prompt_model.is_none());
client.with_default_prompt_model("llama3.1");
assert_eq!(
client.default_options.prompt_model,
Some("llama3.1".to_string())
);
}
}