@@ -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.' )
6875param 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.' )
7492param 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.' )
112130param 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.' )
115142param 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+ }
10001037var aiFoundryAiProjectDescription = 'AI Foundry Project'
10011038
10021039resource 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
18861957output AZURE_TENANT_ID string = tenant ().tenantId
18871958output AZURE_AI_SEARCH_CONNECTION_NAME string = searchService .outputs .name
18881959output AZURE_COGNITIVE_SERVICES string = 'https://cognitiveservices.azure.com/.default'
1889- output REASONING_MODEL_NAME string = 'o3'
1960+ output REASONING_MODEL_NAME string = aiFoundryAiServicesReasoningModelDeployment . name
18901961output MCP_SERVER_NAME string = 'MACAE MCP Server'
18911962output MCP_SERVER_DESCRIPTION string = 'MACAE MCP Server Description'
18921963output SUPPORTED_MODELS string = '["o3","o4-mini","gpt-4.1","gpt-4.1-mini"]'
0 commit comments