diff options
| author | sigoden <sigoden@gmail.com> | 2024-06-06 05:27:21 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-06 05:27:21 +0800 |
| commit | c26594c3c85fb99ad5b0db1c535b337585d3c103 (patch) | |
| tree | 1829b2b1eee599fd835f2eb6f4751097c145b802 /src/config/role.rs | |
| parent | 171a46eee2afcb92bcbbd6a11b52ebc82f2476db (diff) | |
| download | aichat-c26594c3c85fb99ad5b0db1c535b337585d3c103.tar.gz | |
refactor: config refinement (#570)
Diffstat (limited to 'src/config/role.rs')
| -rw-r--r-- | src/config/role.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/config/role.rs b/src/config/role.rs index 515810c..1b49bad 100644 --- a/src/config/role.rs +++ b/src/config/role.rs @@ -1,7 +1,7 @@ -use super::Input; +use super::{Config, Input}; use crate::{ - client::{Message, MessageContent, MessageRole, Model}, + client::{list_chat_models, Message, MessageContent, MessageRole, Model}, utils::{detect_os, detect_shell}, }; @@ -99,6 +99,12 @@ async function timeout(ms) { self.prompt.contains(INPUT_PLACEHOLDER) } + pub fn retrieve_model(&self, config: &Config) -> Option<Model> { + self.model_id + .as_ref() + .and_then(|model_id| Model::find(&list_chat_models(config), model_id)) + } + pub fn set_model(&mut self, model: &Model) { self.model_id = Some(model.id()); } |
