diff --git a/src/client/message.rs b/src/client/message.rs index 3fded76..97760e2 100644 --- a/src/client/message.rs +++ b/src/client/message.rs @@ -227,6 +227,9 @@ pub fn patch_messages(messages: &mut Vec, model: &Model) { } pub fn extract_system_message(messages: &mut Vec) -> Option { + if messages.is_empty() { + return None; + } if messages[0].role.is_system() { let system_message = messages.remove(0); return Some(system_message.content.to_text()); diff --git a/src/config/session.rs b/src/config/session.rs index 5213f68..254334f 100644 --- a/src/config/session.rs +++ b/src/config/session.rs @@ -628,15 +628,6 @@ impl Session { let mut messages = self.messages.clone(); if input.continue_output().is_some() { return messages; - } else if input.regenerate() { - while let Some(last) = messages.last() { - if !last.role.is_user() { - messages.pop(); - } else { - break; - } - } - return messages; } let mut need_add_msg = true; let len = messages.len();