From f8d04f096ab0d465cb23f92a564653fa6a0065ff Mon Sep 17 00:00:00 2001 From: Suryansh Date: Thu, 23 May 2024 03:02:34 +0530 Subject: [PATCH] cleaned up some comments and added some more --- src/backend/ggml.rs | 32 ++++---------------------------- src/error.rs | 2 -- src/main.rs | 15 +++------------ 3 files changed, 7 insertions(+), 42 deletions(-) diff --git a/src/backend/ggml.rs b/src/backend/ggml.rs index 114e89e..2805f08 100644 --- a/src/backend/ggml.rs +++ b/src/backend/ggml.rs @@ -398,7 +398,9 @@ pub(crate) async fn rag_query_handler( } }; + // get ready for context let mut context: String = "".to_string(); + // handle SEARCH case if query_text.starts_with("[SEARCH]") { println!("[SEARCH] query without search: {}", query_text.to_string().strip_prefix("[SEARCH]").unwrap()); @@ -426,8 +428,6 @@ pub(crate) async fn rag_query_handler( } }; - //return error::internal_server_error("*********** DEBUGGING **************"); - match ro.points { Some(scored_points) => { match scored_points.is_empty() { @@ -449,29 +449,6 @@ pub(crate) async fn rag_query_handler( context.push_str("\n\n"); } - // if chat_request.messages.is_empty() { - // return error::internal_server_error("No message in the chat request."); - // } - - // let prompt_template = match llama_core::utils::chat_prompt_template( - // chat_request.model.as_deref(), - // ) { - // Ok(prompt_template) => prompt_template, - // Err(e) => { - // return error::internal_server_error(e.to_string()); - // } - // }; - - // insert rag context into chat request - //if let Err(e) = RagPromptBuilder::build( - // &mut chat_request.messages, - // &[context], - // prompt_template.has_system_prompt(), - // server_info.rag_config.policy, - //) { - // return error::internal_server_error(e.to_string()); - //} - println!("\n[+] Answer the user query with the context info ..."); } } @@ -495,8 +472,8 @@ pub(crate) async fn rag_query_handler( } } } - //FIXME: aggregate search results + // * build RAG prompt using embeddings or search results if let Err(e) = RagPromptBuilder::build( &mut chat_request.messages, &[context], @@ -526,8 +503,7 @@ async fn get_searched_context(query: String) -> String { Err(_) => "No search results returned".to_string(), }; - //let results: String = serde_json::from_str::(&results_json).unwrap().get("results").unwrap().to_string(); - + // * extracting content out of json results. let searched_context: String = serde_json::from_str::>(&results_json) .unwrap().into_iter() .filter_map(|item| item.get("content").and_then(|c: &serde_json::Value| c.as_str()).map(String::from)) diff --git a/src/error.rs b/src/error.rs index 4cc6401..bc85162 100644 --- a/src/error.rs +++ b/src/error.rs @@ -80,6 +80,4 @@ pub enum ServerError { Operation(String), #[error("{0}")] NoDatabaseError(String), - #[error("{0}")] - SearchError(String), } diff --git a/src/main.rs b/src/main.rs index bdee901..5f0933e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -214,24 +214,15 @@ async fn main() -> Result<(), ServerError> { log(format!("[SEARCH] Max results: {}", cli.max_search_results)); - //FIXME: TESTING SPACE + //FIXME: TESTING SPACE FOR DEMONSTRATIONAL PURPOSES let tavily: Arc = Arc::new(TavilyAPISearch { api_key: cli.search_api_key, max_search_results: cli.max_search_results, }); + + // can easily implement logic to set this at execution time let _ = CURRENT_SEARCH_API.set(tavily); - // match CURRENT_SEARCH_API.get().expect("CURRENT_SEARCH_API is unset.").search("nintendo3ds".to_string()).await { - // Ok(body) => { - // log(format!("[SEARCH] Output: {}", body)); - // }, - // Err(e) => return Err(ServerError::SearchError(format!( - // "[SEARCH] Search error: {}", - // e - // ))), - // } - - log(format!( "[INFO] Qdrant collection name: {}", &cli.qdrant_collection_name