File tree Expand file tree Collapse file tree 4 files changed +82
-1
lines changed Expand file tree Collapse file tree 4 files changed +82
-1
lines changed Original file line number Diff line number Diff line change 1+ from typing import List , Union
2+
3+ from ads .aqua .common .decorator import handle_exceptions
4+ from ads .aqua .extension .aqua_ws_msg_handler import AquaWSMsgHandler
5+ from ads .aqua .extension .models .ws_models import RequestResponseType , ListDeploymentResponse , ListDeploymentRequest
6+ from ads .aqua .modeldeployment import AquaDeploymentApp
7+ from ads .config import COMPARTMENT_OCID
8+
9+
10+ class AquaDeploymentWSMsgHandler (AquaWSMsgHandler ):
11+
12+ def __init__ (self , message : Union [str , bytes ]):
13+ super ().__init__ (message )
14+
15+ @staticmethod
16+ def get_message_types () -> List [RequestResponseType ]:
17+ return [RequestResponseType .ListDeployments ]
18+
19+ @handle_exceptions
20+ def process (self ) -> ListDeploymentResponse :
21+ list_deployment_request = ListDeploymentRequest .from_json (self .message )
22+ deployment_list = AquaDeploymentApp ().list (
23+ compartment_id = list_deployment_request .compartment_id or COMPARTMENT_OCID ,
24+ project_id = list_deployment_request .project_id ,
25+ )
26+ response = ListDeploymentResponse (
27+ message_id = list_deployment_request .message_id ,
28+ kind = RequestResponseType .ListDeployments ,
29+ data = deployment_list ,
30+ )
31+ return response
Original file line number Diff line number Diff line change 99
1010from ads .aqua .evaluation .entities import AquaEvaluationSummary
1111from ads .aqua .model .entities import AquaModelSummary
12+ from ads .aqua .modeldeployment .entities import AquaDeployment
1213from ads .common .extended_enum import ExtendedEnumMeta
1314from ads .common .serializer import DataClassSerializable
1415
1516
1617class RequestResponseType (str , metaclass = ExtendedEnumMeta ):
1718 ListEvaluations = "ListEvaluations"
19+ ListDeployments = "ListDeployments"
1820 ListModels = "ListModels"
1921 Error = "Error"
2022
@@ -43,13 +45,26 @@ class ListEvaluationsRequest(BaseRequest):
4345@dataclass
4446class ListModelsRequest (BaseRequest ):
4547 compartment_id : Optional [str ] = None
48+ project_id : Optional [str ] = None
49+ model_type : Optional [str ] = None
50+ kind = RequestResponseType .ListDeployments
4651
4752
4853@dataclass
4954class ListEvaluationsResponse (BaseResponse ):
5055 data : List [AquaEvaluationSummary ]
5156
57+ @dataclass
58+ class ListDeploymentRequest (BaseRequest ):
59+ compartment_id : str
60+ project_id : Optional [str ] = None
61+ kind = RequestResponseType .ListDeployments
5262
63+
64+ @dataclass
65+ class ListDeploymentResponse (BaseResponse ):
66+ data : List [AquaDeployment ]
67+
5368@dataclass
5469class ListModelsResponse (BaseResponse ):
5570 data : List [AquaModelSummary ]
Original file line number Diff line number Diff line change 1+ from typing import List , Union
2+
3+ from ads .aqua .common .decorator import handle_exceptions
4+ from ads .aqua .extension .aqua_ws_msg_handler import AquaWSMsgHandler
5+ from ads .aqua .extension .models .ws_models import RequestResponseType ,ListModelsResponse , ListModelsRequest
6+ from ads .aqua .model import AquaModelApp
7+ from ads .config import COMPARTMENT_OCID
8+
9+
10+ class AquaModelWSMsgHandler (AquaWSMsgHandler ):
11+
12+ def __init__ (self , message : Union [str , bytes ]):
13+ super ().__init__ (message )
14+
15+ @staticmethod
16+ def get_message_types () -> List [RequestResponseType ]:
17+ return [RequestResponseType .ListModels ]
18+
19+ @handle_exceptions
20+ def process (self ) -> ListModelsResponse :
21+ list_models_request = ListModelsRequest .from_json (self .message )
22+ print (list_models_request )
23+ models_list = AquaModelApp ().list (
24+ compartment_id = list_models_request .compartment_id or COMPARTMENT_OCID ,
25+ project_id = list_models_request .project_id ,
26+ model_type = list_models_request .model_type
27+ )
28+ response = ListModelsResponse (
29+ message_id = list_models_request .message_id ,
30+ kind = RequestResponseType .ListModels ,
31+ data = models_list ,
32+ )
33+ return response
Original file line number Diff line number Diff line change 1414
1515from ads .aqua import logger
1616from ads .aqua .extension .aqua_ws_msg_handler import AquaWSMsgHandler
17+ from ads .aqua .extension .deployment_ws_msg_handler import AquaDeploymentWSMsgHandler
1718from ads .aqua .extension .evaluation_ws_msg_handler import AquaEvaluationWSMsgHandler
1819from ads .aqua .extension .models .ws_models import (
1920 AquaWsError ,
2223 ErrorResponse ,
2324 RequestResponseType ,
2425)
26+ from ads .aqua .extension .models_ws_msg_handler import AquaModelWSMsgHandler
2527
2628MAX_WORKERS = 20
2729
@@ -43,7 +45,7 @@ def get_aqua_internal_error_response(message_id: str) -> ErrorResponse:
4345class AquaUIWebSocketHandler (WebSocketHandler ):
4446 """Handler for Aqua Websocket."""
4547
46- _handlers_ : List [Type [AquaWSMsgHandler ]] = [AquaEvaluationWSMsgHandler ]
48+ _handlers_ : List [Type [AquaWSMsgHandler ]] = [AquaEvaluationWSMsgHandler , AquaDeploymentWSMsgHandler , AquaModelWSMsgHandler ]
4749
4850 thread_pool : ThreadPoolExecutor
4951
You can’t perform that action at this time.
0 commit comments