@@ -469,6 +469,9 @@ def test_create_deployment_for_foundation_model(
469
469
470
470
self .app .get_deployment_config = MagicMock (return_value = config )
471
471
472
+ freeform_tags = {"ftag1" : "fvalue1" , "ftag2" : "fvalue2" }
473
+ defined_tags = {"dtag1" : "dvalue1" , "dtag2" : "dvalue2" }
474
+
472
475
container_index_json = os .path .join (
473
476
self .curr_dir , "test_data/ui/container_index.json"
474
477
)
@@ -483,6 +486,8 @@ def test_create_deployment_for_foundation_model(
483
486
model_deployment_obj = ModelDeployment .from_yaml (uri = aqua_deployment )
484
487
model_deployment_dsc_obj = copy .deepcopy (TestDataset .model_deployment_object [0 ])
485
488
model_deployment_dsc_obj ["lifecycle_state" ] = "CREATING"
489
+ model_deployment_dsc_obj ["defined_tags" ] = defined_tags
490
+ model_deployment_dsc_obj ["freeform_tags" ].update (freeform_tags )
486
491
model_deployment_obj .dsc_model_deployment = (
487
492
oci .data_science .models .ModelDeploymentSummary (** model_deployment_dsc_obj )
488
493
)
@@ -495,10 +500,16 @@ def test_create_deployment_for_foundation_model(
495
500
log_group_id = "ocid1.loggroup.oc1.<region>.<OCID>" ,
496
501
access_log_id = "ocid1.log.oc1.<region>.<OCID>" ,
497
502
predict_log_id = "ocid1.log.oc1.<region>.<OCID>" ,
503
+ freeform_tags = freeform_tags ,
504
+ defined_tags = defined_tags ,
498
505
)
499
506
500
507
mock_create .assert_called_with (
501
- model_id = TestDataset .MODEL_ID , compartment_id = None , project_id = None
508
+ model_id = TestDataset .MODEL_ID ,
509
+ compartment_id = None ,
510
+ project_id = None ,
511
+ freeform_tags = freeform_tags ,
512
+ defined_tags = defined_tags ,
502
513
)
503
514
mock_get_container_image .assert_called ()
504
515
mock_deploy .assert_called ()
@@ -508,6 +519,8 @@ def test_create_deployment_for_foundation_model(
508
519
assert set (actual_attributes ) == set (expected_attributes ), "Attributes mismatch"
509
520
expected_result = copy .deepcopy (TestDataset .aqua_deployment_object )
510
521
expected_result ["state" ] = "CREATING"
522
+ expected_result ["tags" ].update (freeform_tags )
523
+ expected_result ["tags" ].update (defined_tags )
511
524
assert actual_attributes == expected_result
512
525
513
526
@patch ("ads.aqua.modeldeployment.deployment.get_container_config" )
@@ -566,7 +579,11 @@ def test_create_deployment_for_fine_tuned_model(
566
579
)
567
580
568
581
mock_create .assert_called_with (
569
- model_id = TestDataset .MODEL_ID , compartment_id = None , project_id = None
582
+ model_id = TestDataset .MODEL_ID ,
583
+ compartment_id = None ,
584
+ project_id = None ,
585
+ freeform_tags = None ,
586
+ defined_tags = None ,
570
587
)
571
588
mock_get_container_image .assert_called ()
572
589
mock_deploy .assert_called ()
@@ -638,7 +655,11 @@ def test_create_deployment_for_gguf_model(
638
655
)
639
656
640
657
mock_create .assert_called_with (
641
- model_id = TestDataset .MODEL_ID , compartment_id = None , project_id = None
658
+ model_id = TestDataset .MODEL_ID ,
659
+ compartment_id = None ,
660
+ project_id = None ,
661
+ freeform_tags = None ,
662
+ defined_tags = None ,
642
663
)
643
664
mock_get_container_image .assert_called ()
644
665
mock_deploy .assert_called ()
@@ -654,83 +675,87 @@ def test_create_deployment_for_gguf_model(
654
675
)
655
676
assert actual_attributes == expected_result
656
677
657
- # @patch("ads.aqua.modeldeployment.deployment.get_container_config")
658
- # @patch("ads.aqua.model.AquaModelApp.create")
659
- # @patch("ads.aqua.modeldeployment.deployment.get_container_image")
660
- # @patch("ads.model.deployment.model_deployment.ModelDeployment.deploy")
661
- # def test_create_deployment_for_tei_byoc_embedding_model(
662
- # self,
663
- # mock_deploy,
664
- # mock_get_container_image,
665
- # mock_create,
666
- # mock_get_container_config,
667
- # ):
668
- # """Test to create a deployment for fine-tuned model"""
669
- # aqua_model = os.path.join(
670
- # self.curr_dir, "test_data/deployment/aqua_tei_byoc_embedding_model.yaml"
671
- # )
672
- # datascience_model = DataScienceModel.from_yaml(uri=aqua_model)
673
- # mock_create.return_value = datascience_model
674
- #
675
- # config_json = os.path.join(
676
- # self.curr_dir, "test_data/deployment/deployment_config.json"
677
- # )
678
- # with open(config_json, "r") as _file:
679
- # config = json.load(_file)
680
- #
681
- # self.app.get_deployment_config = MagicMock(return_value=config)
682
- #
683
- # container_index_json = os.path.join(
684
- # self.curr_dir, "test_data/ui/container_index.json"
685
- # )
686
- # with open(container_index_json, "r") as _file:
687
- # container_index_config = json.load(_file)
688
- # mock_get_container_config.return_value = container_index_config
689
- #
690
- # mock_get_container_image.return_value = TestDataset.DEPLOYMENT_IMAGE_NAME
691
- # aqua_deployment = os.path.join(
692
- # self.curr_dir, "test_data/deployment/aqua_create_embedding_deployment.yaml"
693
- # )
694
- # model_deployment_obj = ModelDeployment.from_yaml(uri=aqua_deployment)
695
- # model_deployment_dsc_obj = copy.deepcopy(
696
- # TestDataset.model_deployment_object_tei_byoc[0]
697
- # )
698
- # model_deployment_dsc_obj["lifecycle_state"] = "CREATING"
699
- # model_deployment_obj.dsc_model_deployment = (
700
- # oci.data_science.models.ModelDeploymentSummary(**model_deployment_dsc_obj)
701
- # )
702
- # mock_deploy.return_value = model_deployment_obj
703
- #
704
- # result = self.app.create(
705
- # model_id=TestDataset.MODEL_ID,
706
- # instance_shape=TestDataset.DEPLOYMENT_SHAPE_NAME,
707
- # display_name="model-deployment-name",
708
- # log_group_id="ocid1.loggroup.oc1.<region>.<OCID>",
709
- # access_log_id="ocid1.log.oc1.<region>.<OCID>",
710
- # predict_log_id="ocid1.log.oc1.<region>.<OCID>",
711
- # container_family="odsc-tei-serving",
712
- # cmd_var=[],
713
- # )
714
- #
715
- # mock_create.assert_called_with(
716
- # model_id=TestDataset.MODEL_ID, compartment_id=None, project_id=None
717
- # )
718
- # mock_get_container_image.assert_called()
719
- # mock_deploy.assert_called()
720
- #
721
- # expected_attributes = set(AquaDeployment.__annotations__.keys())
722
- # actual_attributes = asdict(result)
723
- # assert set(actual_attributes) == set(expected_attributes), "Attributes mismatch"
724
- # expected_result = copy.deepcopy(TestDataset.aqua_deployment_object)
725
- # expected_result["state"] = "CREATING"
726
- # expected_result["shape_info"] = (
727
- # TestDataset.aqua_deployment_tei_byoc_embeddings_shape_info
728
- # )
729
- # expected_result["cmd"] = TestDataset.aqua_deployment_tei_byoc_embeddings_cmd
730
- # expected_result["environment_variables"] = (
731
- # TestDataset.aqua_deployment_tei_byoc_embeddings_env_vars
732
- # )
733
- # assert actual_attributes == expected_result
678
+ @patch ("ads.aqua.modeldeployment.deployment.get_container_config" )
679
+ @patch ("ads.aqua.model.AquaModelApp.create" )
680
+ @patch ("ads.aqua.modeldeployment.deployment.get_container_image" )
681
+ @patch ("ads.model.deployment.model_deployment.ModelDeployment.deploy" )
682
+ def test_create_deployment_for_tei_byoc_embedding_model (
683
+ self ,
684
+ mock_deploy ,
685
+ mock_get_container_image ,
686
+ mock_create ,
687
+ mock_get_container_config ,
688
+ ):
689
+ """Test to create a deployment for fine-tuned model"""
690
+ aqua_model = os .path .join (
691
+ self .curr_dir , "test_data/deployment/aqua_tei_byoc_embedding_model.yaml"
692
+ )
693
+ datascience_model = DataScienceModel .from_yaml (uri = aqua_model )
694
+ mock_create .return_value = datascience_model
695
+
696
+ config_json = os .path .join (
697
+ self .curr_dir , "test_data/deployment/deployment_config.json"
698
+ )
699
+ with open (config_json , "r" ) as _file :
700
+ config = json .load (_file )
701
+
702
+ self .app .get_deployment_config = MagicMock (return_value = config )
703
+
704
+ container_index_json = os .path .join (
705
+ self .curr_dir , "test_data/ui/container_index.json"
706
+ )
707
+ with open (container_index_json , "r" ) as _file :
708
+ container_index_config = json .load (_file )
709
+ mock_get_container_config .return_value = container_index_config
710
+
711
+ mock_get_container_image .return_value = TestDataset .DEPLOYMENT_IMAGE_NAME
712
+ aqua_deployment = os .path .join (
713
+ self .curr_dir , "test_data/deployment/aqua_create_embedding_deployment.yaml"
714
+ )
715
+ model_deployment_obj = ModelDeployment .from_yaml (uri = aqua_deployment )
716
+ model_deployment_dsc_obj = copy .deepcopy (
717
+ TestDataset .model_deployment_object_tei_byoc [0 ]
718
+ )
719
+ model_deployment_dsc_obj ["lifecycle_state" ] = "CREATING"
720
+ model_deployment_obj .dsc_model_deployment = (
721
+ oci .data_science .models .ModelDeploymentSummary (** model_deployment_dsc_obj )
722
+ )
723
+ mock_deploy .return_value = model_deployment_obj
724
+
725
+ result = self .app .create (
726
+ model_id = TestDataset .MODEL_ID ,
727
+ instance_shape = TestDataset .DEPLOYMENT_SHAPE_NAME ,
728
+ display_name = "model-deployment-name" ,
729
+ log_group_id = "ocid1.loggroup.oc1.<region>.<OCID>" ,
730
+ access_log_id = "ocid1.log.oc1.<region>.<OCID>" ,
731
+ predict_log_id = "ocid1.log.oc1.<region>.<OCID>" ,
732
+ container_family = "odsc-tei-serving" ,
733
+ cmd_var = [],
734
+ )
735
+
736
+ mock_create .assert_called_with (
737
+ model_id = TestDataset .MODEL_ID ,
738
+ compartment_id = None ,
739
+ project_id = None ,
740
+ freeform_tags = None ,
741
+ defined_tags = None ,
742
+ )
743
+ mock_get_container_image .assert_called ()
744
+ mock_deploy .assert_called ()
745
+
746
+ expected_attributes = set (AquaDeployment .__annotations__ .keys ())
747
+ actual_attributes = asdict (result )
748
+ assert set (actual_attributes ) == set (expected_attributes ), "Attributes mismatch"
749
+ expected_result = copy .deepcopy (TestDataset .aqua_deployment_object )
750
+ expected_result ["state" ] = "CREATING"
751
+ expected_result ["shape_info" ] = (
752
+ TestDataset .aqua_deployment_tei_byoc_embeddings_shape_info
753
+ )
754
+ expected_result ["cmd" ] = TestDataset .aqua_deployment_tei_byoc_embeddings_cmd
755
+ expected_result ["environment_variables" ] = (
756
+ TestDataset .aqua_deployment_tei_byoc_embeddings_env_vars
757
+ )
758
+ assert actual_attributes == expected_result
734
759
735
760
@parameterized .expand (
736
761
[
0 commit comments