diff options
| author | sigoden <sigoden@gmail.com> | 2024-03-17 08:23:47 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-17 08:23:47 +0800 |
| commit | f3210d622ab362e621169d92510702c1a1d53847 (patch) | |
| tree | de9331b5d53719948c7e7b7e6044ce4f5466b6f6 /src/config/mod.rs | |
| parent | 992d5700416cb0e78c898392747e81919dbccac5 (diff) | |
| download | aichat-f3210d622ab362e621169d92510702c1a1d53847.tar.gz | |
refactor: remove role field from session struct (#356)
Diffstat (limited to 'src/config/mod.rs')
| -rw-r--r-- | src/config/mod.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs index 4ee5319..1c7fa8a 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -316,7 +316,8 @@ impl Config { pub fn set_role_obj(&mut self, role: Role) -> Result<()> { if let Some(session) = self.session.as_mut() { - session.update_role(Some(role.clone()))?; + session.guard_empty()?; + session.set_temperature(role.temperature); } self.temperature = role.temperature; self.role = Some(role); @@ -324,9 +325,6 @@ impl Config { } pub fn clear_role(&mut self) -> Result<()> { - if let Some(session) = self.session.as_mut() { - session.update_role(None)?; - } self.temperature = self.default_temperature; self.role = None; Ok(()) @@ -335,7 +333,7 @@ impl Config { pub fn get_state(&self) -> State { if let Some(session) = &self.session { if session.is_empty() { - if session.role.is_some() { + if self.role.is_some() { State::EmptySessionWithRole } else { State::EmptySession @@ -592,13 +590,13 @@ impl Config { self.session = Some(Session::new( TEMP_SESSION_NAME, self.model.clone(), - self.role.clone(), + self.temperature, )); } Some(name) => { let session_path = Self::session_file(name)?; if !session_path.exists() { - self.session = Some(Session::new(name, self.model.clone(), self.role.clone())); + self.session = Some(Session::new(name, self.model.clone(), self.temperature)); } else { let session = Session::load(name, &session_path)?; let model = session.model().to_string(); |
