summaryrefslogtreecommitdiffstats
path: root/src/client/openai_compatible.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-05-22 21:29:23 +0800
committerGitHub <noreply@github.com>2024-05-22 21:29:23 +0800
commitba3bcfd67c1d6fea5d3d3c5908c975682ee7909b (patch)
tree29811c719f131f946cd37634507885ee8c63534d /src/client/openai_compatible.rs
parent91a06543b24733cf578f3f2d4cb0884e2b18cf2f (diff)
downloadaichat-ba3bcfd67c1d6fea5d3d3c5908c975682ee7909b.tar.gz
feat: allow patching req body with client config (#534)
Diffstat (limited to 'src/client/openai_compatible.rs')
-rw-r--r--src/client/openai_compatible.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/client/openai_compatible.rs b/src/client/openai_compatible.rs
index 38b291c..fd101ae 100644
--- a/src/client/openai_compatible.rs
+++ b/src/client/openai_compatible.rs
@@ -1,8 +1,6 @@
-use crate::client::OPENAI_COMPATIBLE_PLATFORMS;
-
-use super::openai::openai_build_body;
use super::{
- ExtraConfig, Model, ModelData, OpenAICompatibleClient, PromptAction, PromptKind, SendData,
+ openai::*, Client, ExtraConfig, Model, ModelData, ModelPatches, OpenAICompatibleClient,
+ PromptAction, PromptKind, SendData, OPENAI_COMPATIBLE_PLATFORMS,
};
use anyhow::Result;
@@ -17,6 +15,7 @@ pub struct OpenAICompatibleConfig {
pub chat_endpoint: Option<String>,
#[serde(default)]
pub models: Vec<ModelData>,
+ pub patches: Option<ModelPatches>,
pub extra: Option<ExtraConfig>,
}
@@ -58,7 +57,7 @@ impl OpenAICompatibleClient {
let api_key = self.get_api_key().ok();
let mut body = openai_build_body(data, &self.model);
- self.model.merge_extra_fields(&mut body);
+ self.patch_request_body(&mut body);
let chat_endpoint = self
.config