Skip to content

Commit e3f1f20

Browse files
Adding defined metadata to fine-tuned model (#1164)
2 parents 9b0a249 + 5014969 commit e3f1f20

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

ads/aqua/finetuning/finetuning.py

+18
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
from ads.jobs.builders.infrastructure.dsc_job import DataScienceJob
5959
from ads.jobs.builders.runtimes.base import Runtime
6060
from ads.jobs.builders.runtimes.container_runtime import ContainerRuntime
61+
from ads.model.common.utils import MetadataArtifactPathType
6162
from ads.model.model_metadata import (
6263
MetadataTaxonomyKeys,
6364
ModelCustomMetadata,
@@ -315,6 +316,23 @@ def create(
315316
model_by_reference=True,
316317
defined_tags=create_fine_tuning_details.defined_tags,
317318
)
319+
defined_metadata_dict = {}
320+
defined_metadata_list_source = source.defined_metadata_list._to_oci_metadata()
321+
for defined_metadata in defined_metadata_list_source:
322+
if (
323+
defined_metadata.has_artifact
324+
and defined_metadata.key.lower()
325+
!= AquaModelMetadataKeys.FINE_TUNING_CONFIGURATION.lower()
326+
):
327+
content = self.ds_client.get_model_defined_metadatum_artifact_content(
328+
source.id, defined_metadata.key
329+
).data.content
330+
defined_metadata_dict[defined_metadata.key] = content
331+
332+
for key, value in defined_metadata_dict.items():
333+
ft_model.create_defined_metadata_artifact(
334+
key, value, MetadataArtifactPathType.CONTENT
335+
)
318336

319337
ft_job_freeform_tags = {
320338
Tags.AQUA_TAG: UNKNOWN,

ads/aqua/model/model.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
ImportModelDetails,
8181
ModelValidationResult,
8282
)
83-
from ads.aqua.model.enums import MultiModelSupportedTaskType
8483
from ads.common.auth import default_signer
8584
from ads.common.oci_resource import SEARCH_TYPE, OCIResource
8685
from ads.common.utils import (
@@ -184,8 +183,12 @@ def create(
184183
target_project = project_id or PROJECT_OCID
185184
target_compartment = compartment_id or COMPARTMENT_OCID
186185

187-
# Skip model copying if it is registered model
188-
if service_model.freeform_tags.get(Tags.BASE_MODEL_CUSTOM, None) is not None:
186+
# Skip model copying if it is registered model or fine-tuned model
187+
if (
188+
service_model.freeform_tags.get(Tags.BASE_MODEL_CUSTOM, None) is not None
189+
or service_model.freeform_tags.get(Tags.AQUA_FINE_TUNED_MODEL_TAG)
190+
is not None
191+
):
189192
logger.info(
190193
f"Aqua Model {model_id} already exists in the user's compartment."
191194
"Skipped copying."

0 commit comments

Comments
 (0)