Skip to content

Commit 5de5653

Browse files
Merge branch 'feature/aquav1.0.1' into fix-hello-reload
2 parents 7ca5aab + e11b117 commit 5de5653

File tree

3 files changed

+39
-9
lines changed

3 files changed

+39
-9
lines changed

ads/aqua/__init__.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import sys
99
import os
1010
from ads.aqua.utils import fetch_service_compartment
11-
from ads.config import OCI_RESOURCE_PRINCIPAL_VERSION
11+
from ads.config import NB_SESSION_OCID, OCI_RESOURCE_PRINCIPAL_VERSION
1212
from ads import set_auth
1313

1414
logger = logging.getLogger(__name__)
@@ -22,7 +22,15 @@
2222
if not ODSC_MODEL_COMPARTMENT_OCID:
2323
try:
2424
ODSC_MODEL_COMPARTMENT_OCID = fetch_service_compartment()
25-
except Exception as e:
25+
except:
26+
pass
27+
28+
if not ODSC_MODEL_COMPARTMENT_OCID:
29+
logger.error(
30+
f"ODSC_MODEL_COMPARTMENT_OCID environment variable is not set for Aqua."
31+
)
32+
if NB_SESSION_OCID:
2633
logger.error(
27-
f"ODSC_MODEL_COMPARTMENT_OCID environment variable is not set for Aqua, due to {e}."
34+
f"Aqua is not available for this notebook session {NB_SESSION_OCID}."
2835
)
36+
exit()

ads/aqua/finetune.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
UpdateModelProvenanceDetails,
1616
)
1717

18+
from ads.aqua import ODSC_MODEL_COMPARTMENT_OCID
1819
from ads.aqua.base import AquaApp
1920
from ads.aqua.data import AquaResourceIdentifier, Resource, Tags
2021
from ads.aqua.exception import AquaFileExistsError, AquaValueError
@@ -195,12 +196,11 @@ def create(
195196
)
196197

197198
source = self.get_source(create_fine_tuning_details.ft_source_id)
198-
# TODO: add the following validation for fine tuning aqua service model. Revisit it when all service models are available
199-
# if source.compartment_id != ODSC_MODEL_COMPARTMENT_OCID:
200-
# raise AquaValueError(
201-
# f"Fine tuning is only supported for Aqua service models in {ODSC_MODEL_COMPARTMENT_OCID}. "
202-
# "Use a valid Aqua service model id instead."
203-
# )
199+
if source.compartment_id != ODSC_MODEL_COMPARTMENT_OCID:
200+
raise AquaValueError(
201+
f"Fine tuning is only supported for Aqua service models in {ODSC_MODEL_COMPARTMENT_OCID}. "
202+
"Use a valid Aqua service model id instead."
203+
)
204204

205205
target_compartment = (
206206
create_fine_tuning_details.compartment_id or COMPARTMENT_OCID

tests/unitary/with_extras/aqua/test_finetuning.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@
55
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
66

77
from dataclasses import asdict
8+
from importlib import reload
9+
import os
810
from unittest import TestCase
911
from unittest.mock import MagicMock, PropertyMock
1012

1113
from mock import patch
14+
import ads.config
15+
import ads.aqua
16+
import ads.aqua.finetune
1217
from ads.aqua.base import AquaApp
1318
from ads.aqua.finetune import AquaFineTuningApp, FineTuneCustomMetadata
1419
from ads.aqua.model import AquaFineTuneModel
@@ -18,9 +23,25 @@
1823

1924
class FineTuningTestCase(TestCase):
2025

26+
SERVICE_COMPARTMENT_ID = "ocid1.compartment.oc1..<OCID>"
27+
2128
def setUp(self):
2229
self.app = AquaFineTuningApp()
2330

31+
@classmethod
32+
def setUpClass(cls):
33+
os.environ["ODSC_MODEL_COMPARTMENT_OCID"] = cls.SERVICE_COMPARTMENT_ID
34+
reload(ads.config)
35+
reload(ads.aqua)
36+
reload(ads.aqua.finetune)
37+
38+
@classmethod
39+
def tearDownClass(cls):
40+
os.environ.pop("ODSC_MODEL_COMPARTMENT_OCID", None)
41+
reload(ads.config)
42+
reload(ads.aqua)
43+
reload(ads.aqua.finetune)
44+
2445
@patch.object(Job, "run")
2546
@patch("ads.jobs.ads_job.Job.name", new_callable=PropertyMock)
2647
@patch("ads.jobs.ads_job.Job.id", new_callable=PropertyMock)
@@ -58,6 +79,7 @@ def test_create_fine_tuning(
5879

5980
ft_source = MagicMock()
6081
ft_source.id = "test_ft_source_id"
82+
ft_source.compartment_id = self.SERVICE_COMPARTMENT_ID
6183
ft_source.display_name = "test_ft_source_model"
6284
ft_source.custom_metadata_list = custom_metadata_list
6385
mock_get_source.return_value = ft_source

0 commit comments

Comments
 (0)