1use crate::llm::client::LLMRequest;
2use crate::llm::{LLMClient, Message, PromptBuilder};
3use crate::system::{Config, SystemInfo};
4use anyhow::Result;
5
6pub async fn handle_ask(
8 question: &str,
9 client: &dyn LLMClient,
10 system_info: &SystemInfo,
11 _config: &Config,
12) -> Result<String> {
13 let builder = PromptBuilder::new(system_info.clone());
14
15 let request = LLMRequest {
16 system: builder.build_ask(),
17 messages: vec![Message::user(question)],
18 use_websearch: _config.llm.use_web_search,
19 };
20
21 let response = client.generate(request).await?;
23
24 Ok(response)
25}