forked from microsoft/azurechat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.bicep
80 lines (68 loc) · 2.52 KB
/
main.bicep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
targetScope = 'subscription'
@minLength(1)
@maxLength(64)
@description('Name of the the environment which is used to generate a short unique hash used in all resources.')
param name string
@minLength(1)
@description('Primary location for all resources')
param location string
// azure open ai
@description('Location for the OpenAI resource group')
@allowed(['canadaeast', 'eastus', 'francecentral', 'japaneast', 'northcentralus', 'australieast'])
@metadata({
azd: {
type: 'location'
}
})
param openAILocation string = 'northcentralus'
param openAISku string = 'S0'
param openAIApiVersion string = '2023-03-15-preview'
param chatGptDeploymentCapacity int = 30
param chatGptDeploymentName string = 'chat-gpt-35-turbo'
param chatGptModelName string = 'gpt-35-turbo'
param chatGptModelVersion string = '0613'
param embeddingDeploymentName string = 'embedding'
param embeddingDeploymentCapacity int = 10
param embeddingModelName string = 'text-embedding-ada-002'
param formRecognizerSkuName string = 'S0'
param searchServiceIndexName string = 'azure-chat'
param searchServiceSkuName string = 'standard'
param searchServiceAPIVersion string = '2023-07-01-Preview'
param envName string = 'dev'
param resourceGroupName string = '${name}-${envName}-rg'
var resourceToken = envName
// toLower(uniqueString(subscription().id, name, location))
var tags = { 'azd-env-name': name }
// Organize resources in a resource group
resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: !empty(resourceGroupName) ? resourceGroupName : 'rg-${name}'
location: location
tags: tags
}
module resources 'resources.bicep' = {
name: 'all-resources'
scope: rg
params: {
name: name
resourceToken: resourceToken
tags: tags
openai_api_version: openAIApiVersion
openAiResourceGroupLocation: openAILocation
openAiSkuName: openAISku
chatGptDeploymentCapacity: chatGptDeploymentCapacity
chatGptDeploymentName: chatGptDeploymentName
chatGptModelName: chatGptModelName
chatGptModelVersion: chatGptModelVersion
embeddingDeploymentName: embeddingDeploymentName
embeddingDeploymentCapacity: embeddingDeploymentCapacity
embeddingModelName: embeddingModelName
formRecognizerSkuName: formRecognizerSkuName
searchServiceIndexName: searchServiceIndexName
searchServiceSkuName: searchServiceSkuName
searchServiceAPIVersion: searchServiceAPIVersion
location: location
}
}
output APP_URL string = resources.outputs.url
output AZURE_LOCATION string = location
output AZURE_TENANT_ID string = tenant().tenantId