Skip to content

Commit c2fa183

Browse files
committed
Updated source name for telemetry.
1 parent 0b37dd5 commit c2fa183

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

ads/aqua/evaluation.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
JOB_INFRASTRUCTURE_TYPE_DEFAULT_NETWORKING,
3939
NB_SESSION_IDENTIFIER,
4040
UNKNOWN,
41+
extract_id_and_name_from_tag,
4142
fire_and_forget,
4243
get_container_image,
4344
is_valid_ocid,
@@ -677,7 +678,7 @@ def create(
677678
self.telemetry.record_event_async(
678679
category="aqua/evaluation",
679680
action="create",
680-
detail=evaluation_source.display_name,
681+
detail=self._get_service_model_name(evaluation_source),
681682
)
682683

683684
return AquaEvaluationSummary(
@@ -767,6 +768,34 @@ def _build_evaluation_runtime(
767768
)
768769

769770
return runtime
771+
772+
@staticmethod
773+
def _get_service_model_name(
774+
source: Union[ModelDeployment, DataScienceModel]
775+
) -> str:
776+
"""Gets the service model name from source. If it's ModelDeployment, needs to check
777+
if its model has been fine tuned or not.
778+
779+
Parameters
780+
----------
781+
source: Union[ModelDeployment, DataScienceModel]
782+
An instance of either ModelDeployment or DataScienceModel
783+
784+
Returns
785+
-------
786+
str:
787+
The service model name of source.
788+
"""
789+
if isinstance(source, ModelDeployment):
790+
fine_tuned_model_tag = source.freeform_tags.get(
791+
Tags.AQUA_FINE_TUNED_MODEL_TAG.value, UNKNOWN
792+
)
793+
if not fine_tuned_model_tag:
794+
return source.freeform_tags.get(Tags.AQUA_MODEL_NAME_TAG.value)
795+
else:
796+
return extract_id_and_name_from_tag(fine_tuned_model_tag)[1]
797+
798+
return source.display_name
770799

771800
@staticmethod
772801
def _get_evaluation_container(source_id: str) -> str:

tests/unitary/with_extras/aqua/test_evaluation.py

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from parameterized import parameterized
1717

1818
from ads.aqua import utils
19+
from ads.aqua.data import Tags
1920
from ads.aqua.evaluation import (
2021
AquaEvalMetrics,
2122
AquaEvalReport,
@@ -28,9 +29,10 @@
2829
AquaRuntimeError,
2930
)
3031
from ads.aqua.extension.base_handler import AquaAPIhandler
31-
from ads.aqua.utils import EVALUATION_REPORT_JSON, EVALUATION_REPORT_MD
32+
from ads.aqua.utils import EVALUATION_REPORT_JSON, EVALUATION_REPORT_MD, UNKNOWN
3233
from ads.jobs.ads_job import DataScienceJob, DataScienceJobRun, Job
3334
from ads.model import DataScienceModel
35+
from ads.model.deployment.model_deployment import ModelDeployment
3436
from ads.model.model_version_set import ModelVersionSet
3537

3638
null = None
@@ -355,6 +357,8 @@ def setUpClass(cls):
355357
utils.is_valid_ocid = MagicMock(return_value=True)
356358

357359
def setUp(self):
360+
import ads
361+
ads.set_auth("security_token")
358362
self.app = AquaEvaluationApp()
359363

360364
self._query_resources = utils.query_resources
@@ -523,6 +527,41 @@ def test_create_evaluation(
523527
"time_created": f"{oci_dsc_model.time_created}",
524528
}
525529

530+
def test_get_service_model_name(self):
531+
# get service model name from fine tuned model deployment
532+
source = (
533+
ModelDeployment()
534+
.with_freeform_tags(
535+
**{
536+
Tags.AQUA_TAG.value: UNKNOWN,
537+
Tags.AQUA_FINE_TUNED_MODEL_TAG.value: "test_service_model_id#test_service_model_name",
538+
Tags.AQUA_MODEL_NAME_TAG.value: "test_fine_tuned_model_name"
539+
}
540+
)
541+
)
542+
service_model_name = self.app._get_service_model_name(source)
543+
assert service_model_name == "test_service_model_name"
544+
545+
# get service model name from model deployment
546+
source = (
547+
ModelDeployment()
548+
.with_freeform_tags(
549+
**{
550+
Tags.AQUA_TAG.value: "active",
551+
Tags.AQUA_MODEL_NAME_TAG.value: "test_service_model_name"
552+
}
553+
)
554+
)
555+
service_model_name = self.app._get_service_model_name(source)
556+
assert service_model_name == "test_service_model_name"
557+
558+
# get service model name from service model
559+
source = DataScienceModel(
560+
display_name="test_service_model_name"
561+
)
562+
service_model_name = self.app._get_service_model_name(source)
563+
assert service_model_name == "test_service_model_name"
564+
526565
@parameterized.expand(
527566
[
528567
(

0 commit comments

Comments
 (0)