Another remote for gh:zotero-rag/zotero-rag
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: update `get_reasoning_config` to use `as_ref`

+23 -45
+23 -45
zqa-rag/src/llm/factory.rs
··· 42 42 #[must_use] 43 43 pub fn get_reasoning_config(&self) -> Option<ReasoningConfig> { 44 44 match self { 45 - LLMClient::Anthropic(client) => client 46 - .config 47 - .clone() 48 - .unwrap_or_default() 49 - .reasoning_budget 50 - .map(|budget| ReasoningConfig { 51 - max_tokens: Some(budget), 52 - effort: None, 53 - summary: None, 54 - }), 55 - LLMClient::Ollama(client) => client 56 - .config 57 - .clone() 58 - .unwrap_or_default() 59 - .reasoning_budget 60 - .map(|budget| ReasoningConfig { 61 - max_tokens: Some(budget), 62 - effort: None, 63 - summary: None, 64 - }), 65 - LLMClient::OpenAI(client) => client 66 - .config 67 - .clone() 68 - .unwrap_or_default() 69 - .reasoning_effort 70 - .map(|effort| ReasoningConfig { 71 - max_tokens: None, 72 - effort: Some(effort), 73 - summary: None, 74 - }), 75 - LLMClient::OpenRouter(client) => { 76 - let config = client.config.clone().unwrap_or_default(); 77 - 45 + LLMClient::Anthropic(client) => client.config.as_ref().map(|c| ReasoningConfig { 46 + max_tokens: c.reasoning_budget, 47 + effort: None, 48 + summary: None, 49 + }), 50 + LLMClient::Ollama(client) => client.config.as_ref().map(|c| ReasoningConfig { 51 + max_tokens: c.reasoning_budget, 52 + effort: None, 53 + summary: None, 54 + }), 55 + LLMClient::OpenAI(client) => client.config.as_ref().map(|c| ReasoningConfig { 56 + max_tokens: None, 57 + effort: c.reasoning_effort.clone(), 58 + summary: None, 59 + }), 60 + LLMClient::OpenRouter(client) => client.config.as_ref().map(|config| { 78 61 if config.reasoning_effort.is_none() && config.reasoning_budget.is_none() { 79 62 return None; 80 63 } 81 64 82 65 Some(ReasoningConfig { 83 66 max_tokens: config.reasoning_budget, 84 - effort: config.reasoning_effort, 67 + effort: config.reasoning_effort.clone(), 85 68 summary: None, 86 69 }) 87 - } 88 - LLMClient::Gemini(client) => client 89 - .config 90 - .clone() 91 - .unwrap_or_default() 92 - .reasoning_budget 93 - .map(|budget| ReasoningConfig { 94 - max_tokens: Some(budget), 95 - effort: None, 96 - summary: None, 97 - }), 70 + })?, 71 + LLMClient::Gemini(client) => client.config.as_ref().map(|c| ReasoningConfig { 72 + max_tokens: c.reasoning_budget, 73 + effort: None, 74 + summary: None, 75 + }), 98 76 } 99 77 } 100 78 }