diff options
Diffstat (limited to 'src/config/input.rs')
| -rw-r--r-- | src/config/input.rs | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/src/config/input.rs b/src/config/input.rs index 9c7a666..829d9ed 100644 --- a/src/config/input.rs +++ b/src/config/input.rs @@ -145,36 +145,9 @@ impl Input { if !self.text.is_empty() { let rag = self.config.read().rag.clone(); if let Some(rag) = rag { - let (top_k, min_score_vector_search, min_score_keyword_search) = { - let config = self.config.read(); - ( - config.rag_top_k, - config.rag_min_score_vector_search, - config.rag_min_score_keyword_search, - ) - }; - let rerank = match self.config.read().rag_reranker_model.clone() { - Some(reranker_model_id) => { - let min_score = self.config.read().rag_min_score_rerank; - let rerank_model = - Model::retrieve_reranker(&self.config.read(), &reranker_model_id)?; - let rerank_client = init_client(&self.config, Some(rerank_model))?; - Some((rerank_client, min_score)) - } - None => None, - }; - let embeddings = rag - .search( - &self.text, - top_k, - min_score_vector_search, - min_score_keyword_search, - rerank, - abort_signal, - ) - .await?; - let text = self.config.read().rag_template(&embeddings, &self.text); - self.patched_text = Some(text); + let result = + Config::search_rag(&self.config, &rag, &self.text, abort_signal).await?; + self.patched_text = Some(result); self.rag_name = Some(rag.name().to_string()); } } |
