diff options
author | Oxbian <oxbian@mailbox.org> | 2025-05-18 12:19:33 -0400 |
---|---|---|
committer | Oxbian <oxbian@mailbox.org> | 2025-05-18 12:19:33 -0400 |
commit | ea5fe19ad751fd6fa686e502a5cf7f26a78668e9 (patch) | |
tree | cd005f10acc256613ef5a9b88cf36733659ea57f /src/app/init.rs | |
parent | fecb211130ec487c7c617d28419c6d0097f19783 (diff) | |
download | NAI-ea5fe19ad751fd6fa686e502a5cf7f26a78668e9.tar.gz NAI-ea5fe19ad751fd6fa686e502a5cf7f26a78668e9.zip |
feat: refactor chat, resume into modules + color in UImain
Diffstat (limited to 'src/app/init.rs')
-rw-r--r-- | src/app/init.rs | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/app/init.rs b/src/app/init.rs index 0930319..f2b1ee3 100644 --- a/src/app/init.rs +++ b/src/app/init.rs @@ -1,5 +1,5 @@ use crate::app::llm::{Message, MessageType, LLM}; -use crate::app::modules::wikipedia::ask_wiki; +use crate::app::modules::{wikipedia, resume, chat, code}; use crate::helper::init::warn; use uuid::Uuid; use tokio::runtime::Builder; @@ -8,23 +8,15 @@ pub struct App { pub messages: Vec<Message>, // History of recorded message pub conv_id: Uuid, // ID for retrieving and saving the history of messag categorize_llm: LLM, - chat_llm: LLM, // Configuration for the LLM that chat with you - resume_llm: LLM, // Configuration for the LLM that resume conversation } impl App { pub fn new() -> App { - let categorize_llm = LLM::new("config/categorize-LLM.json"); App { - messages: vec![Message::new( - MessageType::SYSTEM, - categorize_llm.system_prompt.clone(), - )], + messages: Vec::new(), conv_id: Uuid::new_v4(), - categorize_llm, - chat_llm: LLM::new("config/chat-LLM.json"), - resume_llm: LLM::new("config/resume-LLM.json"), + categorize_llm: LLM::new("config/categorize-LLM.json"), } } @@ -47,7 +39,7 @@ impl App { match result { Ok(msg) => { - let categorie = msg[0]["function"]["arguments"]["category"].clone(); + let categorie = msg[0]["function"]["arguments"]["category_choice"].clone(); self.ask(&categorie.to_string().replace("\"", "")); }, Err(e) => self.append_message(e.to_string(), MessageType::ASSISTANT), @@ -62,11 +54,11 @@ impl App { let result = runtime.block_on(async { if mode == "resume" { - self.resume_llm.ask(&self.messages).await + resume::resume_conv(self.messages.clone()).await } else if mode == "wikipedia" { - ask_wiki(&self.messages).await + wikipedia::ask_wiki(&self.messages).await } else { - self.chat_llm.ask(&self.messages).await + chat::ask_chat(self.messages.clone()).await } }); @@ -82,7 +74,6 @@ impl App { } pub fn resume_conv(&mut self) { - self.append_message(self.resume_llm.system_prompt.to_string(), MessageType::USER); self.ask("resume"); } } |