@@ -566,6 +566,8 @@ void LocalEngine::LoadModel(std::shared_ptr<Json::Value> json_body,
566
566
567
567
s.process_info = result.value ();
568
568
if (wait_for_server_up (model_id, s.host , s.port )) {
569
+ s.start_time = std::chrono::system_clock::now ().time_since_epoch () /
570
+ std::chrono::milliseconds (1 );
569
571
Json::Value response;
570
572
response[" status" ] = " Model loaded successfully with pid: " +
571
573
std::to_string (s.process_info .pid );
@@ -665,7 +667,35 @@ void LocalEngine::GetModelStatus(std::shared_ptr<Json::Value> json_body,
665
667
}
666
668
667
669
void LocalEngine::GetModels (std::shared_ptr<Json::Value> json_body,
668
- http_callback&& callback) {}
670
+ http_callback&& callback) {
671
+ Json::Value json_resp;
672
+ Json::Value model_array (Json::arrayValue);
673
+ {
674
+ for (const auto & [m, s] : server_map_) {
675
+ Json::Value val;
676
+ val[" id" ] = m;
677
+ val[" engine" ] = kLlamaEngine ;
678
+ val[" start_time" ] = s.start_time ;
679
+ val[" model_size" ] = 0u ;
680
+ val[" vram" ] = 0u ;
681
+ val[" ram" ] = 0u ;
682
+ val[" object" ] = " model" ;
683
+ model_array.append (val);
684
+ }
685
+ }
686
+
687
+ json_resp[" object" ] = " list" ;
688
+ json_resp[" data" ] = model_array;
689
+
690
+ Json::Value status;
691
+ status[" is_done" ] = true ;
692
+ status[" has_error" ] = false ;
693
+ status[" is_stream" ] = false ;
694
+ status[" status_code" ] = 200 ;
695
+ callback (std::move (status), std::move (json_resp));
696
+ CTL_INF (" Running models responded" );
697
+ (void )json_body;
698
+ }
669
699
670
700
void LocalEngine::HandleOpenAiChatCompletion (
671
701
std::shared_ptr<Json::Value> json_body, http_callback&& callback,
0 commit comments