feature/insight-chat-improvements #83
@@ -1205,10 +1205,7 @@ pub(crate) fn apply_system_prompt_override(
|
|||||||
messages: &mut Vec<ChatMessage>,
|
messages: &mut Vec<ChatMessage>,
|
||||||
override_prompt: Option<&str>,
|
override_prompt: Option<&str>,
|
||||||
) -> Option<SystemPromptStash> {
|
) -> Option<SystemPromptStash> {
|
||||||
let prompt = match override_prompt {
|
let prompt = override_prompt.map(str::trim).filter(|s| !s.is_empty())?.to_string();
|
||||||
Some(s) if !s.trim().is_empty() => s.trim().to_string(),
|
|
||||||
_ => return None,
|
|
||||||
};
|
|
||||||
if let Some(first) = messages.first_mut()
|
if let Some(first) = messages.first_mut()
|
||||||
&& first.role == "system"
|
&& first.role == "system"
|
||||||
{
|
{
|
||||||
@@ -1235,7 +1232,7 @@ pub(crate) fn restore_system_prompt_override(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
SystemPromptStash::Prepended => {
|
SystemPromptStash::Prepended => {
|
||||||
if !messages.is_empty() && messages[0].role == "system" {
|
if matches!(messages.first(), Some(m) if m.role == "system") {
|
||||||
messages.remove(0);
|
messages.remove(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user