microsoft/TypeAgent

Public

mirrored fromhttps://github.com/microsoft/TypeAgentAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
b9ae73e8c13f9df3b5d8951fd682f55f20ae9678

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

azure/template.json

525lines · modecode

1{
2 "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
3 "contentVersion": "1.0.0.0",
4 "languageVersion": "2.0",
5 "parameters": {
6 "principalId": {
7 "defaultValue": "[deployer().objectId]",
8 "type": "String"
9 },
10 "region": {
11 "defaultValue": "[deployment().location]",
12 "type": "String"
13 },
14 "name": {
15 "defaultValue": "typeagent",
16 "type": "String"
17 },
18 "group_name": {
19 "defaultValue": "[concat(parameters('name'), '-', parameters('region'))]",
20 "type": "String"
21 },
22 "maps_region": {
23 "defaultValue": "[parameters('region')]",
24 "type": "String"
25 },
26 "maps_name": {
27 "defaultValue": "[concat(parameters('name'), '-', parameters('maps_region'), '-maps')]",
28 "type": "String"
29 },
30 "speech_region": {
31 "defaultValue": "[parameters('region')]",
32 "type": "String"
33 },
34 "speech_name": {
35 "defaultValue": "[concat(parameters('name'), '-', parameters('speech_region'), '-speech')]",
36 "type": "String"
37 },
38 "openai_region": {
39 "defaultValue": "[parameters('region')]",
40 "type": "String"
41 },
42 "openai_name": {
43 "defaultValue": "[concat(parameters('name'), '-', parameters('openai_region'), '-openai')]",
44 "type": "String"
45 },
46 "search_name": {
47 "defaultValue": "[concat(parameters('name'), '-search')]",
48 "type": "String"
49 },
50 "vaults_region": {
51 "defaultValue": "[parameters('region')]",
52 "type": "String"
53 },
54 "vaults_name": {
55 "defaultValue": "[concat(parameters('name'), '-', parameters('vaults_region'), '-kv')]",
56 "type": "String"
57 }
58 },
59 "resources": {
60 "group": {
61 "type": "Microsoft.Resources/resourceGroups",
62 "apiVersion": "2022-09-01",
63 "name": "[parameters('group_name')]",
64 "location": "[parameters('region')]",
65 "properties": {}
66 },
67 "groupDeployment": {
68 "type": "Microsoft.Resources/deployments",
69 "apiVersion": "2022-09-01",
70 "name": "typeagent-deployment",
71 "resourceGroup": "[parameters('group_name')]",
72 "dependsOn": ["group"],
73
74 "properties": {
75 "parameters": {
76 "maps_region": { "value": "[parameters('maps_region')]" },
77 "maps_name": { "value": "[parameters('maps_name')]" },
78 "speech_region": { "value": "[parameters('speech_region')]" },
79 "speech_name": { "value": "[parameters('speech_name')]" },
80 "openai_region": { "value": "[parameters('openai_region')]" },
81 "openai_name": { "value": "[parameters('openai_name')]" },
82 "search_name": { "value": "[parameters('search_name')]" },
83 "vaults_region": { "value": "[parameters('vaults_region')]" },
84 "vaults_name": { "value": "[parameters('vaults_name')]" },
85 "principalId": { "value": "[parameters('principalId')]" }
86 },
87 "mode": "Incremental",
88 "template": {
89 "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
90 "languageVersion": "2.0",
91 "contentVersion": "1.0.0.0",
92 "parameters": {
93 "maps_region": { "type": "String" },
94 "maps_name": { "type": "String" },
95 "speech_region": { "type": "String" },
96 "speech_name": { "type": "String" },
97 "openai_region": { "type": "String" },
98 "openai_name": { "type": "String" },
99 "search_name": { "type": "String" },
100 "vaults_region": { "type": "String" },
101 "vaults_name": { "type": "String" },
102 "principalId": { "type": "String" }
103 },
104 "variables": {
105 "keyVaultSecretUserRole": "4633458b-17de-408a-b874-0445c86b69e6",
106 "cognitiveServicesOpenAIUserRole": "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd",
107 "cognitiveServicesSpeechUserRole": "f2dc8367-1007-4938-bd23-fe263f013447",
108 "azureMapsDataReaderRole": "423170ca-a8f6-4b0f-8487-9e4eb8f49bfa",
109 "openaiSubdomainName": "[concat(parameters('openai_name'), '-', uniqueString(subscription().id))]",
110 "openaiEndpoint": "[concat('https://', variables('openaiSubdomainName'), '.openai.azure.com/')]"
111 },
112 "resources": {
113 "maps": {
114 "type": "Microsoft.Maps/accounts",
115 "apiVersion": "2024-07-01-preview",
116 "name": "[parameters('maps_name')]",
117 "location": "[parameters('maps_region')]",
118 "sku": {
119 "name": "G2",
120 "tier": "Standard"
121 },
122 "kind": "Gen2",
123 "identity": {
124 "type": "SystemAssigned"
125 },
126 "properties": {
127 "disableLocalAuth": true,
128 "cors": {
129 "corsRules": [
130 {
131 "allowedOrigins": []
132 }
133 ]
134 },
135 "locations": []
136 }
137 },
138 "map_role": {
139 "type": "Microsoft.Authorization/roleAssignments",
140 "apiVersion": "2022-04-01",
141 "name": "[guid(concat(parameters('maps_name'), 'Azure Maps Data Reader'))]",
142 "scope": "[resourceId('Microsoft.Maps/accounts', parameters('maps_name'))]",
143 "dependsOn": ["vault"],
144 "properties": {
145 "roleDefinitionId": "[concat('/providers/Microsoft.Authorization/roleDefinitions/', variables('azureMapsDataReaderRole'))]",
146 "principalId": "[parameters('principalId')]"
147 }
148 },
149 "speech": {
150 "type": "Microsoft.CognitiveServices/accounts",
151 "apiVersion": "2024-10-01",
152 "name": "[parameters('speech_name')]",
153 "location": "[parameters('speech_region')]",
154 "tags": {},
155 "sku": {
156 "name": "S0"
157 },
158 "kind": "SpeechServices",
159 "identity": {
160 "type": "None"
161 },
162 "properties": {
163 "networkAcls": {
164 "defaultAction": "Allow",
165 "virtualNetworkRules": [],
166 "ipRules": []
167 },
168 "publicNetworkAccess": "Enabled",
169 "disableLocalAuth": true
170 }
171 },
172 "speech_role": {
173 "type": "Microsoft.Authorization/roleAssignments",
174 "apiVersion": "2022-04-01",
175 "name": "[guid(concat(parameters('speech_name'), 'Cognitive Services Speech User'))]",
176 "scope": "[resourceId('Microsoft.CognitiveServices/accounts', parameters('speech_name'))]",
177 "dependsOn": ["vault"],
178 "properties": {
179 "roleDefinitionId": "[concat('/providers/Microsoft.Authorization/roleDefinitions/', variables('cognitiveServicesSpeechUserRole'))]",
180 "principalId": "[parameters('principalId')]"
181 }
182 },
183 "openai": {
184 "type": "Microsoft.CognitiveServices/accounts",
185 "apiVersion": "2024-10-01",
186 "name": "[parameters('openai_name')]",
187 "location": "[parameters('openai_region')]",
188 "sku": {
189 "name": "S0"
190 },
191 "kind": "OpenAI",
192 "properties": {
193 "customSubDomainName": "[variables('openaiSubdomainName')]",
194 "networkAcls": {
195 "defaultAction": "Allow",
196 "virtualNetworkRules": [],
197 "ipRules": []
198 },
199 "publicNetworkAccess": "Enabled",
200 "disableLocalAuth": true
201 }
202 },
203 "openai_role": {
204 "type": "Microsoft.Authorization/roleAssignments",
205 "apiVersion": "2022-04-01",
206 "name": "[guid(concat(parameters('openai_name'), 'Cognitive Services OpenAI User'))]",
207 "scope": "[resourceId('Microsoft.CognitiveServices/accounts', parameters('openai_name'))]",
208 "dependsOn": ["vault"],
209 "properties": {
210 "roleDefinitionId": "[concat('/providers/Microsoft.Authorization/roleDefinitions/', variables('cognitiveServicesOpenAIUserRole'))]",
211 "principalId": "[parameters('principalId')]"
212 }
213 },
214 "openai_ada_002": {
215 "type": "Microsoft.CognitiveServices/accounts/deployments",
216 "apiVersion": "2024-10-01",
217 "name": "[concat(parameters('openai_name'), '/ada-002')]",
218 "dependsOn": ["openai"],
219 "sku": {
220 "name": "Standard",
221 "capacity": 120
222 },
223 "properties": {
224 "model": {
225 "format": "OpenAI",
226 "name": "text-embedding-ada-002",
227 "version": "2"
228 },
229 "versionUpgradeOption": "OnceCurrentVersionExpired",
230 "currentCapacity": 120,
231 "raiPolicyName": "Microsoft.DefaultV2"
232 }
233 },
234 "openai_dalle": {
235 "type": "Microsoft.CognitiveServices/accounts/deployments",
236 "apiVersion": "2024-10-01",
237 "name": "[concat(parameters('openai_name'), '/dall-e-3')]",
238 "dependsOn": ["openai", "openai_ada_002"],
239 "sku": {
240 "name": "Standard",
241 "capacity": 1
242 },
243 "properties": {
244 "model": {
245 "format": "OpenAI",
246 "name": "dall-e-3",
247 "version": "3.0"
248 },
249 "versionUpgradeOption": "OnceCurrentVersionExpired",
250 "currentCapacity": 1,
251 "raiPolicyName": "Microsoft.Default"
252 }
253 },
254 "openai_gpt35": {
255 "type": "Microsoft.CognitiveServices/accounts/deployments",
256 "apiVersion": "2024-10-01",
257 "name": "[concat(parameters('openai_name'), '/gpt-35-turbo-16k')]",
258 "dependsOn": ["openai", "openai_ada_002", "openai_dalle"],
259 "sku": {
260 "name": "Standard",
261 "capacity": 120
262 },
263 "properties": {
264 "model": {
265 "format": "OpenAI",
266 "name": "gpt-35-turbo",
267 "version": "0125"
268 },
269 "versionUpgradeOption": "OnceNewDefaultVersionAvailable",
270 "currentCapacity": 120,
271 "raiPolicyName": "Microsoft.Default"
272 }
273 },
274 "openai_gpt4o": {
275 "type": "Microsoft.CognitiveServices/accounts/deployments",
276 "apiVersion": "2024-10-01",
277 "name": "[concat(parameters('openai_name'), '/gpt-4o')]",
278 "dependsOn": [
279 "openai",
280 "openai_ada_002",
281 "openai_dalle",
282 "openai_gpt35"
283 ],
284 "sku": {
285 "name": "GlobalStandard",
286 "capacity": 50
287 },
288 "properties": {
289 "model": {
290 "format": "OpenAI",
291 "name": "gpt-4o",
292 "version": "2024-08-06"
293 },
294 "versionUpgradeOption": "OnceCurrentVersionExpired",
295 "currentCapacity": 50,
296 "raiPolicyName": "Microsoft.DefaultV2"
297 }
298 },
299 "openai_gpt4o_mini": {
300 "type": "Microsoft.CognitiveServices/accounts/deployments",
301 "apiVersion": "2024-10-01",
302 "name": "[concat(parameters('openai_name'), '/gpt-4o-mini')]",
303 "dependsOn": [
304 "openai",
305 "openai_ada_002",
306 "openai_dalle",
307 "openai_gpt35",
308 "openai_gpt4o"
309 ],
310 "sku": {
311 "name": "GlobalStandard",
312 "capacity": 200
313 },
314 "properties": {
315 "model": {
316 "format": "OpenAI",
317 "name": "gpt-4o-mini",
318 "version": "2024-07-18"
319 },
320 "versionUpgradeOption": "OnceNewDefaultVersionAvailable",
321 "currentCapacity": 200,
322 "raiPolicyName": "Microsoft.DefaultV2"
323 }
324 },
325 "search": {
326 "condition": false,
327 "type": "Microsoft.Bing/accounts",
328 "apiVersion": "2020-06-10",
329 "name": "[parameters('search_name')]",
330 "location": "global",
331 "sku": {
332 "name": "S1"
333 },
334 "kind": "Bing.Search.v7",
335 "tags": {},
336 "properties": {
337 "provisioningState": "Succeeded",
338 "endpoint": "https://api.bing.microsoft.com/",
339 "internalId": "3534d9bccab442b9b0d43b56b6924610",
340 "statisticsEnabled": false
341 }
342 },
343 "vault": {
344 "type": "Microsoft.KeyVault/vaults",
345 "apiVersion": "2024-12-01-preview",
346 "name": "[parameters('vaults_name')]",
347 "location": "[parameters('vaults_region')]",
348 "properties": {
349 "sku": {
350 "family": "A",
351 "name": "Standard"
352 },
353 "accessPolicies": [],
354 "enabledForDeployment": false,
355 "enabledForDiskEncryption": false,
356 "enabledForTemplateDeployment": false,
357 "enableSoftDelete": true,
358 "softDeleteRetentionInDays": 90,
359 "enableRbacAuthorization": true,
360 "provisioningState": "Succeeded",
361 "publicNetworkAccess": "Enabled",
362 "tenantId": "[subscription().tenantId]"
363 }
364 },
365 "vault_role": {
366 "type": "Microsoft.Authorization/roleAssignments",
367 "apiVersion": "2022-04-01",
368 "name": "[guid(concat(parameters('vaults_name'), 'Key Vault Secrets User'))]",
369 "scope": "[resourceId('Microsoft.KeyVault/vaults', parameters('vaults_name'))]",
370 "dependsOn": ["vault"],
371 "properties": {
372 "roleDefinitionId": "[concat('/providers/Microsoft.Authorization/roleDefinitions/', variables('keyVaultSecretUserRole'))]",
373 "principalId": "[parameters('principalId')]"
374 }
375 },
376 "secrets_map_clientid": {
377 "type": "Microsoft.KeyVault/vaults/secrets",
378 "apiVersion": "2024-12-01-preview",
379 "name": "[concat(parameters('vaults_name'), '/AZURE-MAPS-CLIENTID')]",
380 "dependsOn": ["vault"],
381 "properties": {
382 "attributes": {
383 "enabled": true
384 },
385 "value": "[reference('maps', '2024-07-01-preview').uniqueId]"
386 }
387 },
388 "secrets_map_endpoint": {
389 "type": "Microsoft.KeyVault/vaults/secrets",
390 "apiVersion": "2024-12-01-preview",
391 "name": "[concat(parameters('vaults_name'), '/AZURE-MAPS-ENDPOINT')]",
392 "dependsOn": ["vault"],
393 "properties": {
394 "attributes": {
395 "enabled": true
396 },
397 "value": "https://atlas.microsoft.com/"
398 }
399 },
400 "secrets_openai_endpoint": {
401 "type": "Microsoft.KeyVault/vaults/secrets",
402 "apiVersion": "2024-12-01-preview",
403 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-ENDPOINT')]",
404 "dependsOn": ["vault"],
405 "properties": {
406 "attributes": {
407 "enabled": true
408 },
409 "value": "[concat(variables('openaiEndpoint'),'/openai/deployments/gpt-4o/chat/completions?api-version=2025-01-01-preview')]"
410 }
411 },
412 "secrets_dalle_endpoint": {
413 "type": "Microsoft.KeyVault/vaults/secrets",
414 "apiVersion": "2024-12-01-preview",
415 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-ENDPOINT-DALLE')]",
416 "dependsOn": ["vault"],
417 "properties": {
418 "attributes": {
419 "enabled": true
420 },
421 "value": "[concat(variables('openaiEndpoint'),'/openai/deployments/dall-e-3/images/generations?api-version=2024-02-01')]"
422 }
423 },
424 "secrets_embedding_endpoint": {
425 "type": "Microsoft.KeyVault/vaults/secrets",
426 "apiVersion": "2024-12-01-preview",
427 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-ENDPOINT-EMBEDDING')]",
428 "dependsOn": ["vault"],
429 "properties": {
430 "attributes": {
431 "enabled": true
432 },
433 "value": "[concat(variables('openaiEndpoint'),'/openai/deployments/ada-002/embeddings?api-version=2023-05-15')]"
434 }
435 },
436 "secrets_gpt35_endpoint": {
437 "type": "Microsoft.KeyVault/vaults/secrets",
438 "apiVersion": "2024-12-01-preview",
439 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-ENDPOINT-GPT-35-TURBO')]",
440 "dependsOn": ["vault"],
441 "properties": {
442 "attributes": {
443 "enabled": true
444 },
445 "value": "[concat(variables('openaiEndpoint'),'/openai/deployments/gpt-35-turbo-16k/chat/completions?api-version=2025-01-01-preview')]"
446 }
447 },
448 "secrets_gpt4o_mini_endpoint": {
449 "type": "Microsoft.KeyVault/vaults/secrets",
450 "apiVersion": "2024-12-01-preview",
451 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-ENDPOINT-GPT-4-O-MINI')]",
452 "dependsOn": ["vault"],
453 "properties": {
454 "attributes": {
455 "enabled": true
456 },
457 "value": "[concat(variables('openaiEndpoint'),'/openai/deployments/gpt-4o-mini/chat/completions?api-version=2025-01-01-preview')]"
458 }
459 },
460 "secrets_openai_response_format": {
461 "type": "Microsoft.KeyVault/vaults/secrets",
462 "apiVersion": "2024-12-01-preview",
463 "name": "[concat(parameters('vaults_name'), '/AZURE-OPENAI-RESPONSE-FORMAT')]",
464 "dependsOn": ["vault"],
465 "properties": {
466 "attributes": {
467 "enabled": true
468 },
469 "value": "1"
470 }
471 },
472 "secrets_search_key": {
473 "condition": false,
474 "type": "Microsoft.KeyVault/vaults/secrets",
475 "apiVersion": "2024-12-01-preview",
476 "name": "[concat(parameters('vaults_name'), '/BING-API-KEY')]",
477 "dependsOn": ["vault"],
478 "properties": {
479 "attributes": {
480 "enabled": true
481 }
482 }
483 },
484 "secrets_search_endpoint": {
485 "condition": false,
486 "type": "Microsoft.KeyVault/vaults/secrets",
487 "apiVersion": "2024-12-01-preview",
488 "name": "[concat(parameters('vaults_name'), '/BING-MAPS-API-KEY')]",
489 "dependsOn": ["vault"],
490 "properties": {
491 "attributes": {
492 "enabled": true
493 }
494 }
495 },
496 "speech_key": {
497 "type": "Microsoft.KeyVault/vaults/secrets",
498 "apiVersion": "2024-12-01-preview",
499 "name": "[concat(parameters('vaults_name'), '/SPEECH-SDK-ENDPOINT')]",
500 "dependsOn": ["vault"],
501 "properties": {
502 "attributes": {
503 "enabled": true
504 },
505 "value": "[resourceId('Microsoft.CognitiveServices/accounts', parameters('speech_name'))]"
506 }
507 },
508 "speech_region": {
509 "type": "Microsoft.KeyVault/vaults/secrets",
510 "apiVersion": "2024-12-01-preview",
511 "name": "[concat(parameters('vaults_name'), '/SPEECH-SDK-REGION')]",
512 "dependsOn": ["vault"],
513 "properties": {
514 "attributes": {
515 "enabled": true
516 },
517 "value": "[parameters('speech_region')]"
518 }
519 }
520 }
521 }
522 }
523 }
524 }
525}
526