Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions ads/aqua/common/enums.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

"""
Expand All @@ -8,23 +8,23 @@
This module contains the set of enums used in AQUA.
"""

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class DataScienceResource(str, metaclass=ExtendedEnumMeta):
class DataScienceResource(ExtendedEnum):
MODEL_DEPLOYMENT = "datasciencemodeldeployment"
MODEL = "datasciencemodel"


class Resource(str, metaclass=ExtendedEnumMeta):
class Resource(ExtendedEnum):
JOB = "jobs"
JOBRUN = "jobruns"
MODEL = "models"
MODEL_DEPLOYMENT = "modeldeployments"
MODEL_VERSION_SET = "model-version-sets"


class Tags(str, metaclass=ExtendedEnumMeta):
class Tags(ExtendedEnum):
TASK = "task"
LICENSE = "license"
ORGANIZATION = "organization"
Expand All @@ -42,41 +42,41 @@ class Tags(str, metaclass=ExtendedEnumMeta):
MODEL_ARTIFACT_FILE = "model_file"


class InferenceContainerType(str, metaclass=ExtendedEnumMeta):
class InferenceContainerType(ExtendedEnum):
CONTAINER_TYPE_VLLM = "vllm"
CONTAINER_TYPE_TGI = "tgi"
CONTAINER_TYPE_LLAMA_CPP = "llama-cpp"


class InferenceContainerTypeFamily(str, metaclass=ExtendedEnumMeta):
class InferenceContainerTypeFamily(ExtendedEnum):
AQUA_VLLM_CONTAINER_FAMILY = "odsc-vllm-serving"
AQUA_TGI_CONTAINER_FAMILY = "odsc-tgi-serving"
AQUA_LLAMA_CPP_CONTAINER_FAMILY = "odsc-llama-cpp-serving"


class CustomInferenceContainerTypeFamily(str, metaclass=ExtendedEnumMeta):
class CustomInferenceContainerTypeFamily(ExtendedEnum):
AQUA_TEI_CONTAINER_FAMILY = "odsc-tei-serving"


class InferenceContainerParamType(str, metaclass=ExtendedEnumMeta):
class InferenceContainerParamType(ExtendedEnum):
PARAM_TYPE_VLLM = "VLLM_PARAMS"
PARAM_TYPE_TGI = "TGI_PARAMS"
PARAM_TYPE_LLAMA_CPP = "LLAMA_CPP_PARAMS"


class EvaluationContainerTypeFamily(str, metaclass=ExtendedEnumMeta):
class EvaluationContainerTypeFamily(ExtendedEnum):
AQUA_EVALUATION_CONTAINER_FAMILY = "odsc-llm-evaluate"


class FineTuningContainerTypeFamily(str, metaclass=ExtendedEnumMeta):
class FineTuningContainerTypeFamily(ExtendedEnum):
AQUA_FINETUNING_CONTAINER_FAMILY = "odsc-llm-fine-tuning"


class HuggingFaceTags(str, metaclass=ExtendedEnumMeta):
class HuggingFaceTags(ExtendedEnum):
TEXT_GENERATION_INFERENCE = "text-generation-inference"


class RqsAdditionalDetails(str, metaclass=ExtendedEnumMeta):
class RqsAdditionalDetails(ExtendedEnum):
METADATA = "metadata"
CREATED_BY = "createdBy"
DESCRIPTION = "description"
Expand All @@ -86,7 +86,7 @@ class RqsAdditionalDetails(str, metaclass=ExtendedEnumMeta):
VERSION_LABEL = "versionLabel"


class TextEmbeddingInferenceContainerParams(str, metaclass=ExtendedEnumMeta):
class TextEmbeddingInferenceContainerParams(ExtendedEnum):
"""Contains a subset of params that are required for enabling model deployment in OCI Data Science. More options
are available at https://huggingface.co/docs/text-embeddings-inference/en/cli_arguments"""

Expand Down
7 changes: 3 additions & 4 deletions ads/aqua/common/errors.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

"""
Expand All @@ -10,10 +9,10 @@
This module contains the set of Aqua exceptions.
"""

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class ExitCode(str, metaclass=ExtendedEnumMeta):
class ExitCode(ExtendedEnum):
SUCCESS = 0
COMMON_ERROR = 1
INVALID_CONFIG = 10
Expand Down
4 changes: 2 additions & 2 deletions ads/aqua/common/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
from ads.aqua.data import AquaResourceIdentifier
from ads.common.auth import AuthState, default_signer
from ads.common.decorator.threaded import threaded
from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum
from ads.common.object_storage_details import ObjectStorageDetails
from ads.common.oci_resource import SEARCH_TYPE, OCIResource
from ads.common.utils import copy_file, get_console_link, upload_to_os
Expand All @@ -80,7 +80,7 @@
logger = logging.getLogger("ads.aqua")


class LifecycleStatus(str, metaclass=ExtendedEnumMeta):
class LifecycleStatus(ExtendedEnum):
UNKNOWN = ""

@property
Expand Down
14 changes: 7 additions & 7 deletions ads/aqua/evaluation/constants.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

"""
Expand All @@ -9,17 +8,18 @@

This module contains constants/enums used in Aqua Evaluation.
"""

from oci.data_science.models import JobRun

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum

EVAL_TERMINATION_STATE = [
JobRun.LIFECYCLE_STATE_SUCCEEDED,
JobRun.LIFECYCLE_STATE_FAILED,
]


class EvaluationCustomMetadata(str, metaclass=ExtendedEnumMeta):
class EvaluationCustomMetadata(ExtendedEnum):
EVALUATION_SOURCE = "evaluation_source"
EVALUATION_JOB_ID = "evaluation_job_id"
EVALUATION_JOB_RUN_ID = "evaluation_job_run_id"
Expand All @@ -28,11 +28,11 @@ class EvaluationCustomMetadata(str, metaclass=ExtendedEnumMeta):
EVALUATION_ERROR = "aqua_evaluate_error"


class EvaluationConfig(str, metaclass=ExtendedEnumMeta):
class EvaluationConfig(ExtendedEnum):
PARAMS = "model_params"


class EvaluationReportJson(str, metaclass=ExtendedEnumMeta):
class EvaluationReportJson(ExtendedEnum):
"""Contains evaluation report.json fields name."""

METRIC_SUMMARY_RESULT = "metric_summary_result"
Expand All @@ -43,7 +43,7 @@ class EvaluationReportJson(str, metaclass=ExtendedEnumMeta):
DATASET = "dataset"


class EvaluationMetricResult(str, metaclass=ExtendedEnumMeta):
class EvaluationMetricResult(ExtendedEnum):
"""Contains metric result's fields name in report.json."""

SHORT_NAME = "key"
Expand Down
7 changes: 3 additions & 4 deletions ads/aqua/evaluation/errors.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
"""
aqua.evaluation.errors
Expand All @@ -9,10 +8,10 @@
This module contains errors in Aqua Evaluation.
"""

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class EvaluationJobExitCode(str, metaclass=ExtendedEnumMeta):
class EvaluationJobExitCode(ExtendedEnum):
SUCCESS = 0
COMMON_ERROR = 1

Expand Down
11 changes: 5 additions & 6 deletions ads/aqua/extension/models/ws_models.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*--

# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

from dataclasses import dataclass
from typing import List, Optional

from ads.aqua.evaluation.entities import AquaEvaluationSummary, AquaEvaluationDetail
from ads.aqua.model.entities import AquaModelSummary, AquaModel
from ads.aqua.evaluation.entities import AquaEvaluationDetail, AquaEvaluationSummary
from ads.aqua.model.entities import AquaModel, AquaModelSummary
from ads.aqua.modeldeployment.entities import AquaDeployment, AquaDeploymentDetail
from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum
from ads.common.serializer import DataClassSerializable


class RequestResponseType(str, metaclass=ExtendedEnumMeta):
class RequestResponseType(ExtendedEnum):
ListEvaluations = "ListEvaluations"
EvaluationDetails = "EvaluationDetails"
ListDeployments = "ListDeployments"
Expand Down
6 changes: 3 additions & 3 deletions ads/aqua/finetuning/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class FineTuneCustomMetadata(str, metaclass=ExtendedEnumMeta):
class FineTuneCustomMetadata(ExtendedEnum):
FINE_TUNE_SOURCE = "fine_tune_source"
FINE_TUNE_SOURCE_NAME = "fine_tune_source_name"
FINE_TUNE_OUTPUT_PATH = "fine_tune_output_path"
Expand All @@ -16,7 +16,7 @@ class FineTuneCustomMetadata(str, metaclass=ExtendedEnumMeta):
SERVICE_MODEL_FINE_TUNE_CONTAINER = "finetune-container"


class FineTuningRestrictedParams(str, metaclass=ExtendedEnumMeta):
class FineTuningRestrictedParams(ExtendedEnum):
OPTIMIZER = "optimizer"


Expand Down
14 changes: 7 additions & 7 deletions ads/aqua/model/constants.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

"""
Expand All @@ -9,35 +9,35 @@
This module contains constants/enums used in Aqua Model.
"""

from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class ModelCustomMetadataFields(str, metaclass=ExtendedEnumMeta):
class ModelCustomMetadataFields(ExtendedEnum):
ARTIFACT_LOCATION = "artifact_location"
DEPLOYMENT_CONTAINER = "deployment-container"
EVALUATION_CONTAINER = "evaluation-container"
FINETUNE_CONTAINER = "finetune-container"
DEPLOYMENT_CONTAINER_URI = "deployment-container-uri"


class ModelTask(str, metaclass=ExtendedEnumMeta):
class ModelTask(ExtendedEnum):
TEXT_GENERATION = "text-generation"
IMAGE_TEXT_TO_TEXT = "image-text-to-text"
IMAGE_TO_TEXT = "image-to-text"


class FineTuningMetricCategories(str, metaclass=ExtendedEnumMeta):
class FineTuningMetricCategories(ExtendedEnum):
VALIDATION = "validation"
TRAINING = "training"


class ModelType(str, metaclass=ExtendedEnumMeta):
class ModelType(ExtendedEnum):
FT = "FT" # Fine Tuned Model
BASE = "BASE" # Base model


# TODO: merge metadata key used in create FT
class FineTuningCustomMetadata(str, metaclass=ExtendedEnumMeta):
class FineTuningCustomMetadata(ExtendedEnum):
FT_SOURCE = "fine_tune_source"
FT_SOURCE_NAME = "fine_tune_source_name"
FT_OUTPUT_PATH = "fine_tune_output_path"
Expand Down
9 changes: 4 additions & 5 deletions ads/aqua/model/enums.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2024 Oracle and/or its affiliates.
# Copyright (c) 2024, 2025 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
from ads.common.extended_enum import ExtendedEnumMeta
from ads.common.extended_enum import ExtendedEnum


class FineTuningDefinedMetadata(str, metaclass=ExtendedEnumMeta):
class FineTuningDefinedMetadata(ExtendedEnum):
"""Represents the defined metadata keys used in Fine Tuning."""

VAL_SET_SIZE = "val_set_size"
TRAINING_DATA = "training_data"


class FineTuningCustomMetadata(str, metaclass=ExtendedEnumMeta):
class FineTuningCustomMetadata(ExtendedEnum):
"""Represents the custom metadata keys used in Fine Tuning."""

FT_SOURCE = "fine_tune_source"
Expand Down
Loading