summaryrefslogtreecommitdiffstats
path: root/src/config/input.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-20 11:26:45 +0800
committerGitHub <noreply@github.com>2024-06-20 11:26:45 +0800
commit2eab71a641827e503b14952373aec82661192ba2 (patch)
treeb2f1fd1d8b988391d85a8058dcaaadd6ef379533 /src/config/input.rs
parent3b3d39cef0211b607d51360d0739022f953ba1a7 (diff)
downloadaichat-2eab71a641827e503b14952373aec82661192ba2.tar.gz
feat: rag hybrid search (#618)
Diffstat (limited to 'src/config/input.rs')
-rw-r--r--src/config/input.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/config/input.rs b/src/config/input.rs
index 935d517..892a41f 100644
--- a/src/config/input.rs
+++ b/src/config/input.rs
@@ -169,12 +169,22 @@ impl Input {
if !self.text.is_empty() {
let rag = self.config.read().rag.clone();
if let Some(rag) = rag {
- let (top_k, minimum_score) = {
+ let (top_k, min_score_vector, min_score_text) = {
let config = self.config.read();
- (config.rag_top_k, config.rag_minimum_score)
+ (
+ config.rag_top_k,
+ config.rag_min_score_vector,
+ config.rag_min_score_text,
+ )
};
let embeddings = rag
- .search(&self.text, top_k, minimum_score, abort_signal)
+ .search(
+ &self.text,
+ top_k,
+ min_score_vector,
+ min_score_text,
+ abort_signal,
+ )
.await?;
let text = self.config.read().rag_template(&embeddings, &self.text);
self.patched_text = Some(text);