Skip to content
15 changes: 9 additions & 6 deletions ads/aqua/config/container_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class AquaContainerConfig(Serializable):
evaluate (Dict[str, AquaContainerConfigItem]): Evaluation container configuration items.
"""

inference: Dict[str, AquaContainerConfigItem] = Field(
inference: Dict[str, List[AquaContainerConfigItem]] = Field(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this change will break in a few places where AquaContainerConfig is used, likely in deployment.py. Can you check if that class needs changes?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure , will check , thanks

default_factory=dict, description="Inference container configuration items."
)
finetune: Dict[str, AquaContainerConfigItem] = Field(
Expand All @@ -130,7 +130,9 @@ class AquaContainerConfig(Serializable):

def to_dict(self):
return {
"inference": list(self.inference.values()),
"inference": [
item for sublist in self.inference.values() for item in sublist
],
"finetune": list(self.finetune.values()),
"evaluate": list(self.evaluate.values()),
}
Expand All @@ -149,12 +151,11 @@ def from_service_config(
-------
AquaContainerConfig: The constructed container configuration.
"""

inference_items: Dict[str, AquaContainerConfigItem] = {}
inference_items: Dict[str, List[AquaContainerConfigItem]] = {}
finetune_items: Dict[str, AquaContainerConfigItem] = {}
evaluate_items: Dict[str, AquaContainerConfigItem] = {}
for container in service_containers:
if not container.is_latest:
if "INFERENCE" not in container.usages and not container.is_latest:
continue
container_item = AquaContainerConfigItem(
name=SERVICE_MANAGED_CONTAINER_URI_SCHEME + container.container_name,
Expand Down Expand Up @@ -235,7 +236,9 @@ def from_service_config(
)

if "INFERENCE" in usages or "MULTI_MODEL" in usages:
inference_items[container_type] = container_item
if container_type not in inference_items:
inference_items[container_type] = []
inference_items[container_type].append(container_item)
if "FINE_TUNE" in usages:
finetune_items[container_type] = container_item
if "EVALUATION" in usages:
Expand Down
Loading