diff options
Diffstat (limited to 'src/client/openai_compatible.rs')
| -rw-r--r-- | src/client/openai_compatible.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/client/openai_compatible.rs b/src/client/openai_compatible.rs index 304e748..ba3a751 100644 --- a/src/client/openai_compatible.rs +++ b/src/client/openai_compatible.rs @@ -10,7 +10,7 @@ use serde::Deserialize; #[derive(Debug, Clone, Deserialize)] pub struct OpenAICompatibleConfig { pub name: Option<String>, - pub api_base: String, + pub api_base: Option<String>, pub api_key: Option<String>, pub chat_endpoint: Option<String>, pub models: Vec<ModelConfig>, @@ -18,6 +18,7 @@ pub struct OpenAICompatibleConfig { } impl OpenAICompatibleClient { + config_get_fn!(api_base, get_api_base); config_get_fn!(api_key, get_api_key); pub const PROMPTS: [PromptType<'static>; 5] = [ @@ -34,6 +35,7 @@ impl OpenAICompatibleClient { ]; fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result<RequestBuilder> { + let api_base = self.get_api_base()?; let api_key = self.get_api_key().ok(); let mut body = openai_build_body(data, &self.model); @@ -45,7 +47,7 @@ impl OpenAICompatibleClient { .as_deref() .unwrap_or("/chat/completions"); - let url = format!("{}{chat_endpoint}", self.config.api_base); + let url = format!("{api_base}{chat_endpoint}"); debug!("OpenAICompatible Request: {url} {body}"); |
