@@ -491,7 +491,7 @@ pub(crate) async fn rag_query_handler(mut req: Request<Body>) -> Response<Body>
491491 {
492492 Ok ( se) => se,
493493 Err ( _) => {
494- let err_msg = "couldn 't build summary_endpoint from query_server_url" . to_string ( ) ;
494+ let err_msg = "Couldn 't build summary_endpoint from query_server_url" . to_string ( ) ;
495495 error ! ( target: "stdout" , "{}" , & err_msg) ;
496496
497497 return error:: internal_server_error ( err_msg) ;
@@ -515,7 +515,7 @@ pub(crate) async fn rag_query_handler(mut req: Request<Body>) -> Response<Body>
515515 ) ) {
516516 Ok ( request) => request,
517517 Err ( _) => {
518- let err_msg = "failed to build request to LLamaEdge query server." . to_string ( ) ;
518+ let err_msg = "Failed to build request to LLamaEdge query server." . to_string ( ) ;
519519 error ! ( target: "stdout" , "{}" , & err_msg) ;
520520 return error:: internal_server_error ( err_msg) ;
521521 }
@@ -524,55 +524,57 @@ pub(crate) async fn rag_query_handler(mut req: Request<Body>) -> Response<Body>
524524 info ! ( target: "stdout" , "Querying the LlamaEdge query server." ) ;
525525
526526 let client = hyper:: client:: Client :: new ( ) ;
527- let res = match client. request ( req) . await {
528- Ok ( response) => response,
529- Err ( e) => {
530- let err_msg = format ! ( "couldn't make request to LlamaEdge query server: {}" , e) ;
531- error ! ( target: "stdout" , "{}" , & err_msg) ;
532-
533- return error:: internal_server_error ( err_msg) ;
534- }
535- } ;
536-
537- let is_success = res. status ( ) . is_success ( ) ;
527+ match client. request ( req) . await {
528+ Ok ( res) => {
529+ let is_success = res. status ( ) . is_success ( ) ;
538530
539- let body_bytes = match hyper:: body:: to_bytes ( res. into_body ( ) ) . await {
540- Ok ( bytes) => bytes,
541- Err ( e) => {
542- let err_msg = format ! ( "couldn 't convert body into bytes: {}" , e) ;
543- error ! ( target: "stdout" , "{}" , & err_msg) ;
531+ let body_bytes = match hyper:: body:: to_bytes ( res. into_body ( ) ) . await {
532+ Ok ( bytes) => bytes,
533+ Err ( e) => {
534+ let err_msg = format ! ( "Couldn 't convert body into bytes: {}" , e) ;
535+ error ! ( target: "stdout" , "{}" , & err_msg) ;
544536
545- return error:: internal_server_error ( err_msg) ;
546- }
547- } ;
537+ return error:: internal_server_error ( err_msg) ;
538+ }
539+ } ;
548540
549- let body_json: serde_json:: Value = match serde_json:: from_slice ( & body_bytes) {
550- Ok ( json) => json,
551- Err ( e) => {
552- let err_msg = format ! ( "couldn 't convert body into json: {}" , e) ;
553- error ! ( target: "stdout" , "{}" , & err_msg) ;
541+ let body_json: serde_json:: Value = match serde_json:: from_slice ( & body_bytes) {
542+ Ok ( json) => json,
543+ Err ( e) => {
544+ let err_msg = format ! ( "Couldn 't convert body into json: {}" , e) ;
545+ error ! ( target: "stdout" , "{}" , & err_msg) ;
554546
555- return error:: internal_server_error ( err_msg) ;
556- }
557- } ;
547+ return error:: internal_server_error ( err_msg) ;
548+ }
549+ } ;
558550
559- info ! ( target: "stdout" , "processed query server response json body: \n {}" , body_json) ;
551+ info ! ( target: "stdout" , "processed query server response json body: \n {}" , body_json) ;
560552
561- // if the request is a success, check decision and inject results accordingly.
562- if is_success && body_json[ "decision" ] . as_bool ( ) . unwrap_or ( true ) {
563- // the logic to ensure "results" is a serde_json::Value::String is present on the
564- // llamaedge-query-server.
565- let results = body_json[ "results" ] . as_str ( ) . unwrap_or ( "" ) ;
553+ // if the request is a success, check decision and inject results accordingly.
554+ if is_success && body_json[ "decision" ] . as_bool ( ) . unwrap_or ( true ) {
555+ // the logic to ensure "results" is a serde_json::Value::String is present on the
556+ // llamaedge-query-server.
557+ let results = body_json[ "results" ] . as_str ( ) . unwrap_or ( "" ) ;
566558
567- //inject search results
568- let system_search_result_message: ChatCompletionRequestMessage =
569- ChatCompletionRequestMessage :: new_system_message ( results, None ) ;
559+ info ! ( target: "stdout" , "injecting search summary into conversation context." ) ;
560+ //inject search results
561+ let system_search_result_message: ChatCompletionRequestMessage =
562+ ChatCompletionRequestMessage :: new_system_message ( results, None ) ;
570563
571- chat_request. messages . insert (
572- chat_request. messages . len ( ) - 1 ,
573- system_search_result_message,
574- )
575- }
564+ chat_request. messages . insert (
565+ chat_request. messages . len ( ) - 1 ,
566+ system_search_result_message,
567+ )
568+ }
569+ }
570+ Err ( e) => {
571+ let err_msg = format ! (
572+ "Couldn't make request to LlamaEdge query server, switching to regular RAG: {}" ,
573+ e
574+ ) ;
575+ warn ! ( target: "stdout" , "{}" , & err_msg) ;
576+ }
577+ } ;
576578 }
577579
578580 // chat completion
0 commit comments