From e61aaae0e24eb0dbe25384f310d599f624a08126 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 19 Jan 2025 08:44:22 +0800 Subject: refactor: don't throw model/functions related error in info mode (#1101) --- src/main.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index a7b5198..e30efde 100644 --- a/src/main.rs +++ b/src/main.rs @@ -45,8 +45,15 @@ async fn main() -> Result<()> { } else { WorkingMode::Cmd }; + let info_flag = cli.info + || cli.list_models + || cli.list_roles + || cli.list_agents + || cli.list_rags + || cli.list_macros + || cli.list_sessions; setup_logger(working_mode.is_serve())?; - let config = Arc::new(RwLock::new(Config::init(working_mode)?)); + let config = Arc::new(RwLock::new(Config::init(working_mode, info_flag)?)); if let Err(err) = run(config, cli, text).await { render_error(err); std::process::exit(1); @@ -57,13 +64,6 @@ async fn main() -> Result<()> { async fn run(config: GlobalConfig, cli: Cli, text: Option) -> Result<()> { let abort_signal = create_abort_signal(); - if let Some(addr) = cli.serve { - return serve::run(config, addr).await; - } - if cli.info { - config.write().info_flag = true; - } - if cli.list_models { for model in list_models(&config.read(), ModelType::Chat) { println!("{}", model.id()); @@ -153,6 +153,9 @@ async fn run(config: GlobalConfig, cli: Cli, text: Option) -> Result<()> println!("{}", info); return Ok(()); } + if let Some(addr) = cli.serve { + return serve::run(config, addr).await; + } let is_repl = config.read().working_mode.is_repl(); if cli.rebuild_rag { Config::rebuild_rag(&config, abort_signal.clone()).await?; -- cgit v1.2.3