From fecc146837e02ce6be30dbf286cfd868d85ff03d Mon Sep 17 00:00:00 2001 From: tikikun Date: Tue, 30 Jan 2024 19:06:08 +0700 Subject: [PATCH 1/2] refactor: remove the repetition --- controllers/llamaCPP.cc | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/controllers/llamaCPP.cc b/controllers/llamaCPP.cc index 36d8a284b..a9ad11837 100644 --- a/controllers/llamaCPP.cc +++ b/controllers/llamaCPP.cc @@ -21,6 +21,20 @@ std::shared_ptr create_inference_state(llamaCPP *instance) { // -------------------------------------------- +// Function to check if the model is loaded +void checkModelLoaded(llama_server_context &llama, const HttpRequestPtr &req, + std::function &callback) { + if (!llama.model_loaded_external) { + Json::Value jsonResp; + jsonResp["message"] = + "Model has not been loaded, please load model into nitro"; + auto resp = nitro_utils::nitroHttpJsonResponse(jsonResp); + resp->setStatusCode(drogon::k409Conflict); + callback(resp); + return; + } +} + Json::Value create_embedding_payload(const std::vector &embedding, int prompt_tokens) { Json::Value dataItem; @@ -136,15 +150,8 @@ void llamaCPP::chatCompletion( const HttpRequestPtr &req, std::function &&callback) { - if (!llama.model_loaded_external) { - Json::Value jsonResp; - jsonResp["message"] = - "Model has not been loaded, please load model into nitro"; - auto resp = nitro_utils::nitroHttpJsonResponse(jsonResp); - resp->setStatusCode(drogon::k409Conflict); - callback(resp); - return; - } + // Check if model is loaded + checkModelLoaded(llama, req, callback); const auto &jsonBody = req->getJsonObject(); std::string formatted_output = pre_prompt; @@ -402,15 +409,7 @@ void llamaCPP::chatCompletion( void llamaCPP::embedding( const HttpRequestPtr &req, std::function &&callback) { - if (!llama.model_loaded_external) { - Json::Value jsonResp; - jsonResp["message"] = - "Model has not been loaded, please load model into nitro"; - auto resp = nitro_utils::nitroHttpJsonResponse(jsonResp); - resp->setStatusCode(drogon::k409Conflict); - callback(resp); - return; - } + checkModelLoaded(llama, req, callback); const auto &jsonBody = req->getJsonObject(); @@ -623,4 +622,4 @@ void llamaCPP::stopBackgroundTask() { backgroundThread.join(); } } -} \ No newline at end of file +} From 055d003d7a584a85063a068d9f883abb49477b4f Mon Sep 17 00:00:00 2001 From: tikikun Date: Tue, 30 Jan 2024 19:18:09 +0700 Subject: [PATCH 2/2] refactor: check if model is loaded --- controllers/llamaCPP.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/controllers/llamaCPP.cc b/controllers/llamaCPP.cc index a9ad11837..a26eaa94d 100644 --- a/controllers/llamaCPP.cc +++ b/controllers/llamaCPP.cc @@ -22,7 +22,7 @@ std::shared_ptr create_inference_state(llamaCPP *instance) { // -------------------------------------------- // Function to check if the model is loaded -void checkModelLoaded(llama_server_context &llama, const HttpRequestPtr &req, +void check_model_loaded(llama_server_context &llama, const HttpRequestPtr &req, std::function &callback) { if (!llama.model_loaded_external) { Json::Value jsonResp; @@ -151,7 +151,7 @@ void llamaCPP::chatCompletion( std::function &&callback) { // Check if model is loaded - checkModelLoaded(llama, req, callback); + check_model_loaded(llama, req, callback); const auto &jsonBody = req->getJsonObject(); std::string formatted_output = pre_prompt; @@ -409,7 +409,7 @@ void llamaCPP::chatCompletion( void llamaCPP::embedding( const HttpRequestPtr &req, std::function &&callback) { - checkModelLoaded(llama, req, callback); + check_model_loaded(llama, req, callback); const auto &jsonBody = req->getJsonObject();