summaryrefslogtreecommitdiffstats
path: root/src/config/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-23 22:09:47 +0800
committerGitHub <noreply@github.com>2024-06-23 22:09:47 +0800
commitf9e7efd41c475519d8f7a01c539d9ee4a3d56208 (patch)
tree73536710a148b6db8463fa0e4a3a67e1b4a64bec /src/config/mod.rs
parent777638049b7ea4187b152d70ccc9d38d91948b2e (diff)
downloadaichat-f9e7efd41c475519d8f7a01c539d9ee4a3d56208.tar.gz
refactor: reorder config items (#639)
Diffstat (limited to 'src/config/mod.rs')
-rw-r--r--src/config/mod.rs69
1 files changed, 42 insertions, 27 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 4c0e1e7..0c1c6ac 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -86,36 +86,44 @@ pub struct Config {
pub model_id: String,
pub temperature: Option<f64>,
pub top_p: Option<f64>,
+
pub dry_run: bool,
pub save: bool,
- pub save_session: Option<bool>,
- pub highlight: bool,
- pub light_theme: bool,
+ pub keybindings: Keybindings,
+ pub buffer_editor: Option<String>,
pub wrap: Option<String>,
pub wrap_code: bool,
- pub keybindings: Keybindings,
+
pub prelude: Option<String>,
pub repl_prelude: Option<String>,
- pub buffer_editor: Option<String>,
+ pub agent_prelude: Option<String>,
+
+ pub save_session: Option<bool>,
+ pub compress_threshold: usize,
+ pub summarize_prompt: Option<String>,
+ pub summary_prompt: Option<String>,
+
pub function_calling: bool,
pub dangerously_functions_filter: Option<FunctionsFilter>,
- pub agent_prelude: Option<String>,
pub agents: Vec<AgentConfig>,
+
pub rag_embedding_model: Option<String>,
pub rag_rerank_model: Option<String>,
+ pub rag_top_k: usize,
pub rag_chunk_size: Option<usize>,
pub rag_chunk_overlap: Option<usize>,
- pub rag_top_k: usize,
pub rag_min_score_vector_search: f32,
pub rag_min_score_keyword_search: f32,
pub rag_min_score_rerank: f32,
pub rag_template: Option<String>,
- pub compress_threshold: usize,
- pub summarize_prompt: Option<String>,
- pub summary_prompt: Option<String>,
+
+ pub highlight: bool,
+ pub light_theme: bool,
pub left_prompt: Option<String>,
pub right_prompt: Option<String>,
+
pub clients: Vec<ClientConfig>,
+
#[serde(skip)]
pub roles: Vec<Role>,
#[serde(skip)]
@@ -142,36 +150,44 @@ impl Default for Config {
model_id: Default::default(),
temperature: None,
top_p: None,
- save: false,
- save_session: None,
- highlight: true,
+
dry_run: false,
- light_theme: false,
+ save: false,
+ keybindings: Default::default(),
+ buffer_editor: None,
wrap: None,
wrap_code: false,
- keybindings: Default::default(),
+
prelude: None,
repl_prelude: None,
- buffer_editor: None,
+ agent_prelude: None,
+
function_calling: false,
dangerously_functions_filter: None,
- agent_prelude: None,
agents: vec![],
+
rag_embedding_model: None,
rag_rerank_model: None,
+ rag_top_k: 4,
rag_chunk_size: None,
rag_chunk_overlap: None,
- rag_top_k: 4,
rag_min_score_vector_search: 0.0,
rag_min_score_keyword_search: 0.0,
rag_min_score_rerank: 0.0,
rag_template: None,
+
+ save_session: None,
compress_threshold: 4000,
summarize_prompt: None,
summary_prompt: None,
+
+ highlight: true,
+ light_theme: false,
left_prompt: None,
right_prompt: None,
+
clients: vec![],
+
roles: vec![],
role: None,
session: None,
@@ -453,22 +469,21 @@ impl Config {
),
("temperature", format_option_value(&role.temperature())),
("top_p", format_option_value(&role.top_p())),
+ ("dry_run", self.dry_run.to_string()),
+ ("save", self.save.to_string()),
+ ("keybindings", self.keybindings.stringify().into()),
+ ("wrap", wrap),
+ ("wrap_code", self.wrap_code.to_string()),
+ ("save_session", format_option_value(&self.save_session)),
+ ("compress_threshold", self.compress_threshold.to_string()),
+ ("function_calling", self.function_calling.to_string()),
(
"rag_rerank_model",
format_option_value(&self.rag_rerank_model),
),
("rag_top_k", self.rag_top_k.to_string()),
- ("function_calling", self.function_calling.to_string()),
- ("compress_threshold", self.compress_threshold.to_string()),
- ("dry_run", self.dry_run.to_string()),
- ("save", self.save.to_string()),
- ("save_session", format_option_value(&self.save_session)),
("highlight", self.highlight.to_string()),
("light_theme", self.light_theme.to_string()),
- ("wrap", wrap),
- ("wrap_code", self.wrap_code.to_string()),
- ("keybindings", self.keybindings.stringify().into()),
- ("prelude", format_option_value(&self.prelude)),
("config_file", display_path(&Self::config_file()?)),
("roles_file", display_path(&Self::roles_file()?)),
("functions_dir", display_path(&Self::functions_dir()?)),