Skip to content

Commit cf3f326

Browse files
added model deployment
1 parent d32c973 commit cf3f326

File tree

1 file changed

+81
-10
lines changed

1 file changed

+81
-10
lines changed

infra/main.bicep

Lines changed: 81 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ var deployingUserPrincipalId = deployerInfo.objectId
4242
azd: {
4343
type: 'location'
4444
usageName: [
45-
'OpenAI.GlobalStandard.gpt-4o, 150'
45+
'OpenAI.GlobalStandard.4.1-mini, 50'
4646
]
4747
}
4848
})
@@ -51,13 +51,20 @@ param azureAiServiceLocation string
5151

5252
@minLength(1)
5353
@description('Optional. Name of the GPT model to deploy:')
54-
param gptModelName string = 'gpt-4o'
54+
param gptModelName string = 'gpt-4.1-mini'
5555

56-
@description('Optional. Version of the GPT model to deploy. Defaults to 2024-08-06.')
57-
param gptModelVersion string = '2024-08-06'
56+
@description('Optional. Version of the GPT model to deploy. Defaults to 2025-04-14.')
57+
param gptModelVersion string = '2025-04-14'
58+
59+
@minLength(1)
60+
@description('Optional. Name of the GPT Reasoning model to deploy:')
61+
param gptReasoningModelName string = 'o4-mini'
62+
63+
@description('Optional. Version of the GPT Reasoning model to deploy. Defaults to 2025-04-14.')
64+
param gptReasoningModelVersion string = '2025-04-16'
5865

5966
@description('Optional. Version of the Azure OpenAI service to deploy. Defaults to 2025-01-01-preview.')
60-
param azureopenaiVersion string = '2025-01-01-preview'
67+
param azureopenaiVersion string = '2024-12-01-preview'
6168

6269
@minLength(1)
6370
@allowed([
@@ -67,8 +74,19 @@ param azureopenaiVersion string = '2025-01-01-preview'
6774
@description('Optional. GPT model deployment type. Defaults to GlobalStandard.')
6875
param gptModelDeploymentType string = 'GlobalStandard'
6976

77+
@minLength(1)
78+
@allowed([
79+
'Standard'
80+
'GlobalStandard'
81+
])
82+
@description('Optional. GPT model deployment type. Defaults to GlobalStandard.')
83+
param gptReasoningModelDeploymentType string = 'GlobalStandard'
84+
85+
@description('Optional. AI model deployment token capacity. Defaults to 250 for optimal performance.')
86+
param gptModelCapacity int = 50
87+
7088
@description('Optional. AI model deployment token capacity. Defaults to 150 for optimal performance.')
71-
param gptModelCapacity int = 150
89+
param gptReasoningModelCapacity int = 50
7290

7391
@description('Optional. The tags to apply to all deployed Azure resources.')
7492
param tags resourceInput<'Microsoft.Resources/resourceGroups@2025-04-01'>.tags = {}
@@ -111,6 +129,15 @@ param frontendContainerImageName string = 'macaefrontend'
111129
@description('Optional. The Container Image Tag to deploy on the frontend.')
112130
param frontendContainerImageTag string = 'latest_2025-07-22_895'
113131

132+
@description('Optional. The Container Registry hostname where the docker images for the MCP are located.')
133+
param MCPContainerRegistryHostname string = 'macaemcpacrdk.azurecr.io'
134+
135+
@description('Optional. The Container Image Name to deploy on the MCP.')
136+
param MCPContainerImageName string = 'macae-mac-app'
137+
138+
@description('Optional. The Container Image Tag to deploy on the MCP.')
139+
param MCPContainerImageTag string = 't9'
140+
114141
@description('Optional. Enable/Disable usage telemetry for module.')
115142
param enableTelemetry bool = true
116143

@@ -997,6 +1024,16 @@ var aiFoundryAiServicesModelDeployment = {
9971024
}
9981025
raiPolicyName: 'Microsoft.Default'
9991026
}
1027+
var aiFoundryAiServicesReasoningModelDeployment = {
1028+
format: 'OpenAI'
1029+
name: gptReasoningModelName
1030+
version: gptReasoningModelVersion
1031+
sku: {
1032+
name: gptReasoningModelDeploymentType
1033+
capacity: gptReasoningModelCapacity
1034+
}
1035+
raiPolicyName: 'Microsoft.Default'
1036+
}
10001037
var aiFoundryAiProjectDescription = 'AI Foundry Project'
10011038

10021039
resource existingAiFoundryAiServices 'Microsoft.CognitiveServices/accounts@2025-06-01' existing = if (useExistingAiFoundryAiProject) {
@@ -1023,6 +1060,19 @@ module existingAiFoundryAiServicesDeployments 'modules/ai-services-deployments.b
10231060
capacity: aiFoundryAiServicesModelDeployment.sku.capacity
10241061
}
10251062
}
1063+
{
1064+
name: aiFoundryAiServicesReasoningModelDeployment.name
1065+
model: {
1066+
format: aiFoundryAiServicesReasoningModelDeployment.format
1067+
name: aiFoundryAiServicesReasoningModelDeployment.name
1068+
version: aiFoundryAiServicesReasoningModelDeployment.version
1069+
}
1070+
raiPolicyName: aiFoundryAiServicesReasoningModelDeployment.raiPolicyName
1071+
sku: {
1072+
name: aiFoundryAiServicesReasoningModelDeployment.sku.name
1073+
capacity: aiFoundryAiServicesReasoningModelDeployment.sku.capacity
1074+
}
1075+
}
10261076
]
10271077
roleAssignments: [
10281078
{
@@ -1072,6 +1122,19 @@ module aiFoundryAiServices 'br:mcr.microsoft.com/bicep/avm/res/cognitive-service
10721122
capacity: aiFoundryAiServicesModelDeployment.sku.capacity
10731123
}
10741124
}
1125+
{
1126+
name: aiFoundryAiServicesReasoningModelDeployment.name
1127+
model: {
1128+
format: aiFoundryAiServicesReasoningModelDeployment.format
1129+
name: aiFoundryAiServicesReasoningModelDeployment.name
1130+
version: aiFoundryAiServicesReasoningModelDeployment.version
1131+
}
1132+
raiPolicyName: aiFoundryAiServicesReasoningModelDeployment.raiPolicyName
1133+
sku: {
1134+
name: aiFoundryAiServicesReasoningModelDeployment.sku.name
1135+
capacity: aiFoundryAiServicesReasoningModelDeployment.sku.capacity
1136+
}
1137+
}
10751138
]
10761139
networkAcls: {
10771140
defaultAction: 'Allow'
@@ -1453,9 +1516,13 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
14531516
name: 'AZURE_BING_CONNECTION_NAME'
14541517
value: ''
14551518
}
1519+
{
1520+
name: 'BING_CONNECTION_NAME'
1521+
value: ''
1522+
}
14561523
{
14571524
name: 'REASONING_MODEL_NAME'
1458-
value: 'o3'
1525+
value: aiFoundryAiServicesReasoningModelDeployment.name
14591526
}
14601527
{
14611528
name: 'MCP_SERVER_ENDPOINT'
@@ -1497,6 +1564,10 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
14971564
name: 'AZURE_STORAGE_CONTAINER_NAME'
14981565
value: storageContainerName
14991566
}
1567+
{
1568+
name: 'AZURE_AI_MODEL_DEPLOYMENT_NAME'
1569+
value: aiFoundryAiServicesModelDeployment.name
1570+
}
15001571
]
15011572
}
15021573
]
@@ -1543,8 +1614,8 @@ module containerAppMcp 'br/public:avm/res/app/container-app:0.18.1' = {
15431614
containers: [
15441615
{
15451616
name: 'mcp'
1546-
//image: '${backendContainerRegistryHostname}/${backendContainerImageName}:${backendContainerImageTag}'
1547-
image: 'macaemcpacrdk.azurecr.io/macae-mac-app:t9'
1617+
image: '${MCPContainerRegistryHostname}/${MCPContainerImageName}:${MCPContainerImageTag}'
1618+
//image: 'macaemcpacrdk.azurecr.io/macae-mac-app:t9'
15481619
//TODO: configure probes for container app
15491620
// probes: [
15501621
// {
@@ -1886,7 +1957,7 @@ output AZURE_CLIENT_ID string = userAssignedIdentity!.outputs.clientId
18861957
output AZURE_TENANT_ID string = tenant().tenantId
18871958
output AZURE_AI_SEARCH_CONNECTION_NAME string = searchService.outputs.name
18881959
output AZURE_COGNITIVE_SERVICES string = 'https://cognitiveservices.azure.com/.default'
1889-
output REASONING_MODEL_NAME string = 'o3'
1960+
output REASONING_MODEL_NAME string = aiFoundryAiServicesReasoningModelDeployment.name
18901961
output MCP_SERVER_NAME string = 'MACAE MCP Server'
18911962
output MCP_SERVER_DESCRIPTION string = 'MACAE MCP Server Description'
18921963
output SUPPORTED_MODELS string = '["o3","o4-mini","gpt-4.1","gpt-4.1-mini"]'

0 commit comments

Comments
 (0)