diff options
| author | sigoden <sigoden@gmail.com> | 2024-04-29 19:28:54 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-29 19:28:54 +0800 |
| commit | 4d1c53384b751e39e8f5c9d3c512adedca552fdf (patch) | |
| tree | 01334c5c00e796d9b63698e31cc58c5a38498185 /src/client/openai_compatible.rs | |
| parent | 4ddccc361c04592d54d796b24f72508a5234ffb5 (diff) | |
| download | aichat-4d1c53384b751e39e8f5c9d3c512adedca552fdf.tar.gz | |
refactor: prompts for generating config file (#463)
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}"); |
