From ea4c2131e40be1124110fe4203bd018a8018760c Mon Sep 17 00:00:00 2001 From: sigoden Date: Sat, 5 Oct 2024 18:39:42 +0800 Subject: feat: add `.compress session` REPL command (#907) --- src/config/session.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/config/session.rs') diff --git a/src/config/session.rs b/src/config/session.rs index 0bb55e8..4bda347 100644 --- a/src/config/session.rs +++ b/src/config/session.rs @@ -110,6 +110,10 @@ impl Session { self.model().total_tokens(&self.messages) } + pub fn has_user_messages(&self) -> bool { + self.messages.iter().any(|v| v.role.is_user()) + } + pub fn user_messages_len(&self) -> usize { self.messages.iter().filter(|v| v.role.is_user()).count() } @@ -372,12 +376,9 @@ impl Session { } } } else { - let mut need_add_msg = true; if self.messages.is_empty() { self.messages.extend(input.role().build_messages(input)); - need_add_msg = false; - } - if need_add_msg { + } else { self.messages .push(Message::new(MessageRole::User, input.message_content())); } -- cgit v1.2.3