summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/input.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/config/input.rs b/src/config/input.rs
index 0325e1c..bf092de 100644
--- a/src/config/input.rs
+++ b/src/config/input.rs
@@ -1,8 +1,8 @@
use super::*;
use crate::client::{
- init_client, ChatCompletionsData, Client, ImageUrl, Message, MessageContent,
- MessageContentPart, MessageRole, Model,
+ init_client, patch_system_message, ChatCompletionsData, Client, ImageUrl, Message,
+ MessageContent, MessageContentPart, MessageRole, Model,
};
use crate::function::{ToolResult, ToolResults};
use crate::utils::{base64_encode, sha256, AbortSignal};
@@ -206,7 +206,10 @@ impl Input {
if !self.medias.is_empty() && !model.supports_vision() {
bail!("The current model does not support vision. Is the model configured with `supports_vision: true`?");
}
- let messages = self.build_messages()?;
+ let mut messages = self.build_messages()?;
+ if model.no_system_message() {
+ patch_system_message(&mut messages);
+ }
model.guard_max_input_tokens(&messages)?;
let temperature = self.role().temperature();
let top_p = self.role().top_p();