Skip to content

Commit 2d74979

Browse files
authored
Updated source name for telemetry (#781)
2 parents e11b117 + a019df8 commit 2d74979

File tree

3 files changed

+69
-2
lines changed

3 files changed

+69
-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,
@@ -686,7 +687,7 @@ def create(
686687
self.telemetry.record_event_async(
687688
category="aqua/evaluation",
688689
action="create",
689-
detail=evaluation_source.display_name,
690+
detail=self._get_service_model_name(evaluation_source),
690691
)
691692

692693
return AquaEvaluationSummary(
@@ -776,6 +777,34 @@ def _build_evaluation_runtime(
776777
)
777778

778779
return runtime
780+
781+
@staticmethod
782+
def _get_service_model_name(
783+
source: Union[ModelDeployment, DataScienceModel]
784+
) -> str:
785+
"""Gets the service model name from source. If it's ModelDeployment, needs to check
786+
if its model has been fine tuned or not.
787+
788+
Parameters
789+
----------
790+
source: Union[ModelDeployment, DataScienceModel]
791+
An instance of either ModelDeployment or DataScienceModel
792+
793+
Returns
794+
-------
795+
str:
796+
The service model name of source.
797+
"""
798+
if isinstance(source, ModelDeployment):
799+
fine_tuned_model_tag = source.freeform_tags.get(
800+
Tags.AQUA_FINE_TUNED_MODEL_TAG.value, UNKNOWN
801+
)
802+
if not fine_tuned_model_tag:
803+
return source.freeform_tags.get(Tags.AQUA_MODEL_NAME_TAG.value)
804+
else:
805+
return extract_id_and_name_from_tag(fine_tuned_model_tag)[1]
806+
807+
return source.display_name
779808

780809
@staticmethod
781810
def _get_evaluation_container(source_id: str) -> str:

ads/aqua/finetune.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ def create(
469469
**telemetry_kwargs,
470470
)
471471
# tracks unique fine-tuned models that were created in the user compartment
472+
# TODO: retrieve the service model name for FT custom models.
472473
self.telemetry.record_event_async(
473474
category="aqua/service/finetune",
474475
action="create",

tests/unitary/with_extras/aqua/test_evaluation.py

Lines changed: 38 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
@@ -523,6 +525,41 @@ def test_create_evaluation(
523525
"time_created": f"{oci_dsc_model.time_created}",
524526
}
525527

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

0 commit comments

Comments
 (0)