Skip to content

Commit cbdcfbb

Browse files
authored
Add BYO aoai support (Azure#31815)
* Add BYO aoai support * hide parameter
1 parent 579763f commit cbdcfbb

File tree

5 files changed

+36
-4
lines changed

5 files changed

+36
-4
lines changed

sdk/ml/azure-ai-ml/azure/ai/ml/_arm_deployments/arm_templates/workspace_base.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,13 @@
518518
"metadata": {
519519
"description": "A flag to determine whether to set up feature store"
520520
}
521+
},
522+
"byo_open_ai_resource_id": {
523+
"type": "string",
524+
"defaultValue": "",
525+
"metadata": {
526+
"description": "Resource Id of BYO open ai resource."
527+
}
521528
}
522529
},
523530
"variables": {
@@ -759,7 +766,10 @@
759766
},
760767
"enableDataIsolation": "[parameters('enable_data_isolation')]",
761768
"workspaceHubConfig": "[parameters('workspace_hub_config')]",
762-
"existingWorkspaces": "[parameters('existing_workspaces')]"
769+
"existingWorkspaces": "[parameters('existing_workspaces')]",
770+
"azureOpenAI": {
771+
"resourceId": "[parameters('byo_open_ai_resource_id')]"
772+
}
763773
}
764774
},
765775
{

sdk/ml/azure-ai-ml/azure/ai/ml/_arm_deployments/arm_templates/workspace_param.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,5 +166,8 @@
166166
},
167167
"set_up_feature_store": {
168168
"value": "false"
169+
},
170+
"byo_open_ai_resource_id": {
171+
"value": ""
169172
}
170173
}

sdk/ml/azure-ai-ml/azure/ai/ml/_arm_deployments/arm_templates/workspace_project.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,13 @@
557557
"metadata": {
558558
"description": "A flag to determine whether to set up feature store"
559559
}
560+
},
561+
"byo_open_ai_resource_id": {
562+
"type": "string",
563+
"defaultValue": "",
564+
"metadata": {
565+
"description": "Resource Id of BYO open ai resource."
566+
}
560567
}
561568
},
562569
"variables": {
@@ -642,7 +649,10 @@
642649
"description": "[parameters('description')]",
643650
"applicationInsights": "[variables('applicationInsights')]",
644651
"primaryUserAssignedIdentity": "[parameters('primaryUserAssignedIdentity')]",
645-
"hubResourceId": "[parameters('workspace_hub')]"
652+
"hubResourceId": "[parameters('workspace_hub')]",
653+
"azureOpenAI": {
654+
"resourceId": "[parameters('byo_open_ai_resource_id')]"
655+
}
646656
}
647657
}
648658
]

sdk/ml/azure-ai-ml/azure/ai/ml/operations/_workspace_operations.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ def begin_create(
173173
:return: An instance of LROPoller that returns a Workspace.
174174
:rtype: ~azure.core.polling.LROPoller[~azure.ai.ml.entities.Workspace]
175175
"""
176-
177176
return super().begin_create(workspace, update_dependent_resources=update_dependent_resources, **kwargs)
178177

179178
@monitor_with_activity(logger, "Workspace.BeginUpdate", ActivityType.PUBLICAPI)

sdk/ml/azure-ai-ml/azure/ai/ml/operations/_workspace_operations_base.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ def begin_create(
8080
) -> LROPoller[Workspace]:
8181
existing_workspace = None
8282
resource_group = kwargs.get("resource_group") or workspace.resource_group or self._resource_group_name
83+
byo_open_ai_resource_id = kwargs.get("byo_open_ai_resource_id") or ""
84+
8385
try:
8486
existing_workspace = self.get(workspace.name, resource_group=resource_group)
8587
except Exception: # pylint: disable=broad-except
@@ -112,7 +114,13 @@ def begin_create(
112114
workspace.tags["createdByToolkit"] = "sdk-v2-{}".format(VERSION)
113115

114116
workspace.resource_group = resource_group
115-
template, param, resources_being_deployed = self._populate_arm_paramaters(workspace, **kwargs)
117+
(
118+
template,
119+
param,
120+
resources_being_deployed,
121+
) = self._populate_arm_paramaters( # pylint: disable=too-many-function-args
122+
workspace, byo_open_ai_resource_id, **kwargs
123+
)
116124
# check if create with workspace hub request is valid
117125
if workspace._kind == PROJECT_WORKSPACE_KIND:
118126
if not all(
@@ -377,6 +385,8 @@ def _populate_arm_paramaters(self, workspace: Workspace, **kwargs: Dict) -> Tupl
377385
param = get_template(resource_type=ArmConstants.WORKSPACE_PARAM)
378386
if workspace._kind == PROJECT_WORKSPACE_KIND:
379387
template = get_template(resource_type=ArmConstants.WORKSPACE_PROJECT)
388+
byo_open_ai_resource_id = kwargs.get("byo_open_ai_resource_id") or ""
389+
_set_val(param["byo_open_ai_resource_id"], byo_open_ai_resource_id)
380390
_set_val(param["workspaceName"], workspace.name)
381391
if not workspace.display_name:
382392
_set_val(param["friendlyName"], workspace.name)

0 commit comments

Comments
 (0)