diff --git a/.azdo/pipelines/azure-dev.yml b/.azdo/pipelines/azure-dev.yml index c5fe8319c1..d8b2bdf233 100644 --- a/.azdo/pipelines/azure-dev.yml +++ b/.azdo/pipelines/azure-dev.yml @@ -66,11 +66,18 @@ steps: AZURE_OPENAI_CHATGPT_DEPLOYMENT: $(AZURE_OPENAI_CHATGPT_DEPLOYMENT) AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY: $(AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY) AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION: $(AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION) + AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU: $(AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU) AZURE_OPENAI_EMB_MODEL_NAME: $(AZURE_OPENAI_EMB_MODEL_NAME) AZURE_OPENAI_EMB_DEPLOYMENT: $(AZURE_OPENAI_EMB_DEPLOYMENT) AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY: $(AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY) AZURE_OPENAI_EMB_DEPLOYMENT_VERSION: $(AZURE_OPENAI_EMB_DEPLOYMENT_VERSION) + AZURE_OPENAI_EMB_DEPLOYMENT_SKU: $(AZURE_OPENAI_EMB_DEPLOYMENT_SKU) AZURE_OPENAI_EMB_DIMENSIONS: $(AZURE_OPENAI_EMB_DIMENSIONS) + AZURE_OPENAI_GPT4V_MODEL: $(AZURE_OPENAI_GPT4V_MODEL) + AZURE_OPENAI_GPT4V_DEPLOYMENT: $(AZURE_OPENAI_GPT4V_DEPLOYMENT) + AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY: $(AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY) + AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION: $(AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION) + AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU: $(AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU) OPENAI_HOST: $(OPENAI_HOST) OPENAI_API_KEY: $(OPENAI_API_KEY) OPENAI_ORGANIZATION: $(OPENAI_ORGANIZATION) diff --git a/azure.yaml b/azure.yaml index b689b42a2e..48c3fd09a6 100644 --- a/azure.yaml +++ b/azure.yaml @@ -64,11 +64,18 @@ pipeline: - AZURE_OPENAI_CHATGPT_DEPLOYMENT - AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY - AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION + - AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU - AZURE_OPENAI_EMB_MODEL_NAME - AZURE_OPENAI_EMB_DEPLOYMENT - AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY - AZURE_OPENAI_EMB_DEPLOYMENT_VERSION + - AZURE_OPENAI_EMB_DEPLOYMENT_SKU - AZURE_OPENAI_EMB_DIMENSIONS + - AZURE_OPENAI_GPT4V_MODEL + - AZURE_OPENAI_GPT4V_DEPLOYMENT + - AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY + - AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION + - AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU - OPENAI_HOST - OPENAI_API_KEY - OPENAI_ORGANIZATION diff --git a/docs/deploy_features.md b/docs/deploy_features.md index f430b86e9c..47463f7a15 100644 --- a/docs/deploy_features.md +++ b/docs/deploy_features.md @@ -59,6 +59,12 @@ Execute the following commands inside your terminal: azd env set AZURE_OPENAI_CHATGPT_MODEL gpt-4o-mini ``` +1. To set the Azure OpenAI deployment SKU name, run this command with [the desired SKU name](https://learn.microsoft.com/azure/ai-services/openai/how-to/deployment-types#deployment-types). + + ```bash + azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU GlobalStandard + ``` + 1. To set the Azure OpenAI deployment capacity, run this command with the desired capacity. ```bash @@ -97,6 +103,7 @@ Execute the following commands inside your terminal: > * `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT chat` to set the name of your old GPT 3.5 deployment. > * `azd env set AZURE_OPENAI_CHATGPT_MODEL gpt-35-turbo` to set the name of your old GPT 3.5 model. > * `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY 30` to set the capacity of your old GPT 3.5 deployment. +> * `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU Standard` to set the Sku name back to Standard. > * `azd env set AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION 0613` to set the version number of your old GPT 3.5. > * `azd up` to update the provisioned resources. > diff --git a/infra/main.bicep b/infra/main.bicep index bc019f9c49..676787be6a 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -109,33 +109,46 @@ param computerVisionSkuName string // Set in main.parameters.json param chatGptModelName string = '' param chatGptDeploymentName string = '' param chatGptDeploymentVersion string = '' +param chatGptDeploymentSkuName string = '' param chatGptDeploymentCapacity int = 0 + var chatGpt = { modelName: !empty(chatGptModelName) ? chatGptModelName : startsWith(openAiHost, 'azure') ? 'gpt-35-turbo' : 'gpt-3.5-turbo' deploymentName: !empty(chatGptDeploymentName) ? chatGptDeploymentName : 'chat' deploymentVersion: !empty(chatGptDeploymentVersion) ? chatGptDeploymentVersion : '0613' + deploymentSkuName: !empty(chatGptDeploymentSkuName) ? chatGptDeploymentSkuName : 'Standard' deploymentCapacity: chatGptDeploymentCapacity != 0 ? chatGptDeploymentCapacity : 30 } param embeddingModelName string = '' param embeddingDeploymentName string = '' param embeddingDeploymentVersion string = '' +param embeddingDeploymentSkuName string = '' param embeddingDeploymentCapacity int = 0 param embeddingDimensions int = 0 var embedding = { modelName: !empty(embeddingModelName) ? embeddingModelName : 'text-embedding-ada-002' deploymentName: !empty(embeddingDeploymentName) ? embeddingDeploymentName : 'embedding' deploymentVersion: !empty(embeddingDeploymentVersion) ? embeddingDeploymentVersion : '2' + deploymentSkuName: !empty(embeddingDeploymentSkuName) ? embeddingDeploymentSkuName : 'Standard' deploymentCapacity: embeddingDeploymentCapacity != 0 ? embeddingDeploymentCapacity : 30 dimensions: embeddingDimensions != 0 ? embeddingDimensions : 1536 } -param gpt4vModelName string = 'gpt-4o' -param gpt4vDeploymentName string = 'gpt-4o' -param gpt4vModelVersion string = '2024-05-13' -param gpt4vDeploymentCapacity int = 10 +param gpt4vModelName string = '' +param gpt4vDeploymentName string = '' +param gpt4vModelVersion string = '' +param gpt4vDeploymentSkuName string = '' +param gpt4vDeploymentCapacity int = 0 +var gpt4v = { + modelName: !empty(gpt4vModelName) ? gpt4vModelName : 'gpt-4o' + deploymentName: !empty(gpt4vDeploymentName) ? gpt4vDeploymentName : 'gpt-4o' + deploymentVersion: !empty(gpt4vModelVersion) ? gpt4vModelVersion : '2024-05-13' + deploymentSkuName: !empty(gpt4vDeploymentSkuName) ? gpt4vDeploymentSkuName : 'Standard' + deploymentCapacity: gpt4vDeploymentCapacity != 0 ? gpt4vDeploymentCapacity : 10 +} param tenantId string = tenant().tenantId param authTenantId string = '' @@ -322,12 +335,12 @@ var appEnvVariables = { AZURE_OPENAI_EMB_MODEL_NAME: embedding.modelName AZURE_OPENAI_EMB_DIMENSIONS: embedding.dimensions AZURE_OPENAI_CHATGPT_MODEL: chatGpt.modelName - AZURE_OPENAI_GPT4V_MODEL: gpt4vModelName + AZURE_OPENAI_GPT4V_MODEL: gpt4v.modelName // Specific to Azure OpenAI AZURE_OPENAI_SERVICE: isAzureOpenAiHost && deployAzureOpenAi ? openAi.outputs.name : '' AZURE_OPENAI_CHATGPT_DEPLOYMENT: chatGpt.deploymentName AZURE_OPENAI_EMB_DEPLOYMENT: embedding.deploymentName - AZURE_OPENAI_GPT4V_DEPLOYMENT: useGPT4V ? gpt4vDeploymentName : '' + AZURE_OPENAI_GPT4V_DEPLOYMENT: useGPT4V ? gpt4v.deploymentName : '' AZURE_OPENAI_API_VERSION: azureOpenAiApiVersion AZURE_OPENAI_API_KEY_OVERRIDE: azureOpenAiApiKey AZURE_OPENAI_CUSTOM_URL: azureOpenAiCustomUrl @@ -453,7 +466,7 @@ var defaultOpenAiDeployments = [ version: chatGpt.deploymentVersion } sku: { - name: 'Standard' + name: chatGpt.deploymentSkuName capacity: chatGpt.deploymentCapacity } } @@ -465,7 +478,7 @@ var defaultOpenAiDeployments = [ version: embedding.deploymentVersion } sku: { - name: 'Standard' + name: embedding.deploymentSkuName capacity: embedding.deploymentCapacity } } @@ -476,15 +489,15 @@ var openAiDeployments = concat( useGPT4V ? [ { - name: gpt4vDeploymentName + name: gpt4v.deploymentName model: { format: 'OpenAI' - name: gpt4vModelName - version: gpt4vModelVersion + name: gpt4v.modelName + version: gpt4v.deploymentVersion } sku: { - name: 'Standard' - capacity: gpt4vDeploymentCapacity + name: gpt4v.deploymentSkuName + capacity: gpt4v.deploymentCapacity } } ] @@ -960,7 +973,7 @@ output AZURE_RESOURCE_GROUP string = resourceGroup.name output OPENAI_HOST string = openAiHost output AZURE_OPENAI_EMB_MODEL_NAME string = embedding.modelName output AZURE_OPENAI_CHATGPT_MODEL string = chatGpt.modelName -output AZURE_OPENAI_GPT4V_MODEL string = gpt4vModelName +output AZURE_OPENAI_GPT4V_MODEL string = gpt4v.modelName // Specific to Azure OpenAI output AZURE_OPENAI_SERVICE string = isAzureOpenAiHost && deployAzureOpenAi ? openAi.outputs.name : '' @@ -968,7 +981,7 @@ output AZURE_OPENAI_API_VERSION string = isAzureOpenAiHost ? azureOpenAiApiVersi output AZURE_OPENAI_RESOURCE_GROUP string = isAzureOpenAiHost ? openAiResourceGroup.name : '' output AZURE_OPENAI_CHATGPT_DEPLOYMENT string = isAzureOpenAiHost ? chatGpt.deploymentName : '' output AZURE_OPENAI_EMB_DEPLOYMENT string = isAzureOpenAiHost ? embedding.deploymentName : '' -output AZURE_OPENAI_GPT4V_DEPLOYMENT string = isAzureOpenAiHost ? gpt4vDeploymentName : '' +output AZURE_OPENAI_GPT4V_DEPLOYMENT string = isAzureOpenAiHost ? gpt4v.deploymentName : '' output AZURE_SPEECH_SERVICE_ID string = useSpeechOutputAzure ? speech.outputs.resourceId : '' output AZURE_SPEECH_SERVICE_LOCATION string = useSpeechOutputAzure ? speech.outputs.location : '' diff --git a/infra/main.parameters.json b/infra/main.parameters.json index 44a3a244fd..a42ae22e8c 100644 --- a/infra/main.parameters.json +++ b/infra/main.parameters.json @@ -98,6 +98,9 @@ "chatGptDeploymentVersion":{ "value": "${AZURE_OPENAI_CHATGPT_DEPLOYMENT_VERSION}" }, + "chatGptDeploymentSkuName":{ + "value": "${AZURE_OPENAI_CHATGPT_DEPLOYMENT_SKU}" + }, "chatGptDeploymentCapacity":{ "value": "${AZURE_OPENAI_CHATGPT_DEPLOYMENT_CAPACITY}" }, @@ -110,14 +113,29 @@ "embeddingDeploymentVersion":{ "value": "${AZURE_OPENAI_EMB_DEPLOYMENT_VERSION}" }, + "embeddingDeploymentSkuName":{ + "value": "${AZURE_OPENAI_EMB_DEPLOYMENT_SKU}" + }, "embeddingDeploymentCapacity":{ "value": "${AZURE_OPENAI_EMB_DEPLOYMENT_CAPACITY}" }, "embeddingDimensions": { "value": "${AZURE_OPENAI_EMB_DIMENSIONS}" }, + "gpt4vModelName":{ + "value": "${AZURE_OPENAI_GPT4V_MODEL}" + }, + "gpt4vDeploymentName": { + "value": "${AZURE_OPENAI_GPT4V_DEPLOYMENT}" + }, + "gpt4vDeploymentVersion":{ + "value": "${AZURE_OPENAI_GPT4V_DEPLOYMENT_VERSION}" + }, + "gpt4vDeploymentSkuName":{ + "value": "${AZURE_OPENAI_GPT4V_DEPLOYMENT_SKU}" + }, "gpt4vDeploymentCapacity":{ - "value": "${AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY=10}" + "value": "${AZURE_OPENAI_GPT4V_DEPLOYMENT_CAPACITY}" }, "openAiHost": { "value": "${OPENAI_HOST=azure}"