Source code for ads.aqua.common.enums
#!/usr/bin/env python
# Copyright (c) 2024, 2026 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
from typing import Dict, List
from ads.common.extended_enum import ExtendedEnum
[docs]
class DataScienceResource(ExtendedEnum):
MODEL_DEPLOYMENT = "datasciencemodeldeployment"
MODEL = "datasciencemodel"
[docs]
class Resource(ExtendedEnum):
JOB = "jobs"
JOBRUN = "jobruns"
MODEL = "models"
MODEL_DEPLOYMENT = "modeldeployments"
MODEL_VERSION_SET = "model-version-sets"
[docs]
class PredictEndpoints(ExtendedEnum):
CHAT_COMPLETIONS_ENDPOINT = "/v1/chat/completions"
TEXT_COMPLETIONS_ENDPOINT = "/v1/completions"
EMBEDDING_ENDPOINT = "/v1/embedding"
RESPONSES = "/v1/responses"
FORECAST = "v1/forecast"
[docs]
class InferenceContainerType(ExtendedEnum):
CONTAINER_TYPE_VLLM = "vllm"
CONTAINER_TYPE_TGI = "tgi"
CONTAINER_TYPE_LLAMA_CPP = "llama-cpp"
[docs]
class InferenceContainerTypeFamily(ExtendedEnum):
AQUA_VLLM_CONTAINER_FAMILY = "odsc-vllm-serving"
AQUA_VLLM_V1_CONTAINER_FAMILY = "odsc-vllm-serving-v1"
AQUA_VLLM_LLAMA4_CONTAINER_FAMILY = "odsc-vllm-serving-llama4"
AQUA_TGI_CONTAINER_FAMILY = "odsc-tgi-serving"
AQUA_LLAMA_CPP_CONTAINER_FAMILY = "odsc-llama-cpp-serving"
AQUA_VLLM_OPENAI_CONTAINER_FAMILY = "odsc-vllm-serving-openai"
[docs]
class CustomInferenceContainerTypeFamily(ExtendedEnum):
AQUA_TEI_CONTAINER_FAMILY = "odsc-tei-serving"
[docs]
class InferenceContainerParamType(ExtendedEnum):
PARAM_TYPE_VLLM = "VLLM_PARAMS"
PARAM_TYPE_TGI = "TGI_PARAMS"
PARAM_TYPE_LLAMA_CPP = "LLAMA_CPP_PARAMS"
[docs]
class EvaluationContainerTypeFamily(ExtendedEnum):
AQUA_EVALUATION_CONTAINER_FAMILY = "odsc-llm-evaluate"
[docs]
class FineTuningContainerTypeFamily(ExtendedEnum):
AQUA_FINETUNING_CONTAINER_FAMILY = "odsc-llm-fine-tuning"
[docs]
class RqsAdditionalDetails(ExtendedEnum):
METADATA = "metadata"
CREATED_BY = "createdBy"
DESCRIPTION = "description"
MODEL_VERSION_SET_ID = "modelVersionSetId"
MODEL_VERSION_SET_NAME = "modelVersionSetName"
PROJECT_ID = "projectId"
VERSION_LABEL = "versionLabel"
[docs]
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
"""
MODEL_ID = "model-id"
PORT = "port"
[docs]
class ConfigFolder(ExtendedEnum):
CONFIG = "config"
ARTIFACT = "artifact"
# This dictionary defines compatibility groups for container families.
# The structure is:
# - Key: The preferred container family to use when multiple compatible families are selected.
# - Value: A list of all compatible families (including the preferred one).
CONTAINER_FAMILY_COMPATIBILITY: Dict[str, List[str]] = {
InferenceContainerTypeFamily.AQUA_VLLM_OPENAI_CONTAINER_FAMILY: [
InferenceContainerTypeFamily.AQUA_VLLM_OPENAI_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_LLAMA4_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_V1_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_CONTAINER_FAMILY,
],
InferenceContainerTypeFamily.AQUA_VLLM_V1_CONTAINER_FAMILY: [
InferenceContainerTypeFamily.AQUA_VLLM_V1_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_CONTAINER_FAMILY,
],
InferenceContainerTypeFamily.AQUA_VLLM_LLAMA4_CONTAINER_FAMILY: [
InferenceContainerTypeFamily.AQUA_VLLM_LLAMA4_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_V1_CONTAINER_FAMILY,
InferenceContainerTypeFamily.AQUA_VLLM_CONTAINER_FAMILY,
],
}