summaryrefslogtreecommitdiffstats
path: root/src/client/claude.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-24 07:56:24 +0800
committerGitHub <noreply@github.com>2024-04-24 07:56:24 +0800
commit4f8d895154c602fb51a7694911efd96d52129f82 (patch)
tree3c8decb301c0b77937a152af2d4f996d0960839c /src/client/claude.rs
parent0a4c0413ef0154cde2e3485ec0415e6069596a23 (diff)
downloadaichat-4f8d895154c602fb51a7694911efd96d52129f82.tar.gz
refactor: handling of system message (#432)
Diffstat (limited to 'src/client/claude.rs')
-rw-r--r--src/client/claude.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs
index 24bffbf..5c2a912 100644
--- a/src/client/claude.rs
+++ b/src/client/claude.rs
@@ -1,5 +1,5 @@
use super::{
- patch_system_message, ClaudeClient, Client, ExtraConfig, ImageUrl, MessageContent,
+ extract_sytem_message, ClaudeClient, Client, ExtraConfig, ImageUrl, MessageContent,
MessageContentPart, Model, ModelConfig, PromptType, ReplyHandler, SendData,
};
@@ -141,7 +141,7 @@ fn build_body(data: SendData, model: &Model) -> Result<Value> {
stream,
} = data;
- patch_system_message(&mut messages);
+ let system_message = extract_sytem_message(&mut messages);
let mut network_image_urls = vec![];
let messages: Vec<Value> = messages
@@ -196,6 +196,10 @@ fn build_body(data: SendData, model: &Model) -> Result<Value> {
"messages": messages,
});
+ if let Some(system) = system_message {
+ body["system"] = system.into();
+ }
+
if let Some(v) = temperature {
body["temperature"] = v.into();
}