diff options
Diffstat (limited to 'src/config')
| -rw-r--r-- | src/config/bot.rs | 17 | ||||
| -rw-r--r-- | src/config/input.rs | 2 | ||||
| -rw-r--r-- | src/config/mod.rs | 18 |
3 files changed, 28 insertions, 9 deletions
diff --git a/src/config/bot.rs b/src/config/bot.rs index fef61f2..e1e1df6 100644 --- a/src/config/bot.rs +++ b/src/config/bot.rs @@ -54,10 +54,6 @@ impl Bot { } }; - let render_options = config.read().render_options()?; - let mut markdown_render = MarkdownRender::init(render_options)?; - println!("{}", markdown_render.render(&definition.banner())); - let rag = if rag_path.exists() { Some(Arc::new(Rag::load(config, "rag", &rag_path)?)) } else if embeddings_dir.is_dir() { @@ -101,6 +97,10 @@ impl Bot { Ok(data) } + pub fn banner(&self) -> String { + self.definition.banner() + } + pub fn name(&self) -> &str { &self.name } @@ -120,6 +120,10 @@ impl Bot { pub fn rag(&self) -> Option<Arc<Rag>> { self.rag.clone() } + + pub fn converstaion_staters(&self) -> &[String] { + &self.definition.conversation_starters + } } impl RoleLike for Bot { @@ -227,14 +231,13 @@ impl BotDefinition { format!( r#" -**Conversation Starters** +## Conversation Starters {starters}"# ) }; format!( r#"# {name} {version} -{description}{starters} -"# +{description}{starters}"# ) } } diff --git a/src/config/input.rs b/src/config/input.rs index 1686245..0c93c1f 100644 --- a/src/config/input.rs +++ b/src/config/input.rs @@ -129,7 +129,7 @@ impl Input { self.text = text; } - pub async fn maybe_embeddings(&mut self, abort_signal: AbortSignal) -> Result<()> { + pub async fn use_embeddings(&mut self, abort_signal: AbortSignal) -> Result<()> { if self.text.is_empty() { return Ok(()); } diff --git a/src/config/mod.rs b/src/config/mod.rs index 7e5d6cf..b1eb41f 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -918,7 +918,15 @@ impl Config { if let Some(bot) = &self.bot { bot.export() } else { - bail!("No rag") + bail!("No bot") + } + } + + pub fn bot_banner(&self) -> Result<String> { + if let Some(bot) = &self.bot { + Ok(bot.banner()) + } else { + bail!("No bot") } } @@ -1023,6 +1031,14 @@ impl Config { .collect(), ".rag" => self.list_rags().into_iter().map(|v| (v, None)).collect(), ".bot" => list_bots().into_iter().map(|v| (v, None)).collect(), + ".starter" => match &self.bot { + Some(bot) => bot + .converstaion_staters() + .iter() + .map(|v| (v.clone(), None)) + .collect(), + None => vec![], + }, ".set" => vec