diff options
| author | sigoden <sigoden@gmail.com> | 2024-10-05 18:39:42 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-05 18:39:42 +0800 |
| commit | ea4c2131e40be1124110fe4203bd018a8018760c (patch) | |
| tree | 6f52dcdfb06b34401651f8dbd815bed2338d17ec /src/config/session.rs | |
| parent | 11a706a68d1a1a22817f2264bdbbbe7036897378 (diff) | |
| download | aichat-ea4c2131e40be1124110fe4203bd018a8018760c.tar.gz | |
feat: add `.compress session` REPL command (#907)
Diffstat (limited to 'src/config/session.rs')
| -rw-r--r-- | src/config/session.rs | 9 |
1 files changed, 5 insertions, 4 deletions
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())); } |
